Package com.evolveum.midpoint.prism
Interface PrismParserNoIO
-
- All Superinterfaces:
PrismParser
- All Known Implementing Classes:
PrismParserImplNoIO
public interface PrismParserNoIO extends PrismParser
The same as PrismParser but has no IOException on parseXYZ methods. It is used when parsing from strings or DOM structures where no IOExceptions occur. For methods' descriptions please see the parent interface (PrismParser).- Author:
- mederly
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismParser
PrismParser.ObjectHandler
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull PrismParserNoIOcompat()Switches the parser into "compatibility" (or relaxed) parsing mode.@NotNull PrismParserNoIOcontext(@NotNull ParsingContext context)Provides a parsing context for the parser.@NotNull PrismParserNoIOdefinition(ItemDefinition<?> itemDefinition)Tells parser which definition to use when parsing item (or an item value).@NotNull PrismParserNoIOjson()Sets the language of the parser to be JSON.@NotNull PrismParserNoIOlanguage(@Nullable String language)For string inputs: sets the data language that the parser will try to parse; null means auto-detect.@NotNull PrismParserNoIOname(QName itemName)Tells parser what name to use for parsed item.<O extends Objectable>
@NotNull PrismObject<O>parse()Parses the input as a prism object.<IV extends PrismValue,ID extends ItemDefinition>
Item<IV,ID>parseItem()Parses the input as a prism item.ObjectparseItemOrRealValue()Parses either an item, or a real value.<IV extends PrismValue>
IVparseItemValue()Parses the input as a prism value.@NotNull List<PrismObject<? extends Objectable>>parseObjects()Parses the input as a collection of prism objects.voidparseObjectsIteratively(@NotNull PrismParser.ObjectHandler handler)Currently implemented for JSON/YAML only.<T> TparseRealValue()Parses a real value.<T> TparseRealValue(Class<T> clazz)Parses a real value - either property or container value.<T> javax.xml.bind.JAXBElement<T>parseRealValueToJaxbElement()Parses a real value and stores it into JAXBElement, using item name derived in the usual way.RootXNodeparseToXNode()Parses the input into RootXNode.@NotNull PrismParserNoIOstrict()Switches the parser into "strict" parsing mode.@NotNull PrismParserNoIOtype(Class<?> typeClass)Tells parser what data type to expect.@NotNull PrismParserNoIOtype(QName typeName)Tells parser what data type to expect.@NotNull PrismParserNoIOxml()Sets the language of the parser to be XML.@NotNull PrismParserNoIOyaml()Sets the language of the parser to be YAML.
-
-
-
Method Detail
-
language
@NotNull @NotNull PrismParserNoIO language(@Nullable @Nullable String language)
Description copied from interface:PrismParserFor string inputs: sets the data language that the parser will try to parse; null means auto-detect. For other kinds of input (DOM and XNode) the language is fixed to XML or none, respectively.- Specified by:
languagein interfacePrismParser- Parameters:
language- The language- Returns:
- Updated parser.
-
xml
@NotNull @NotNull PrismParserNoIO xml()
Description copied from interface:PrismParserSets the language of the parser to be XML.- Specified by:
xmlin interfacePrismParser- Returns:
- Updated parser.
-
json
@NotNull @NotNull PrismParserNoIO json()
Description copied from interface:PrismParserSets the language of the parser to be JSON.- Specified by:
jsonin interfacePrismParser- Returns:
- Updated parser.
-
yaml
@NotNull @NotNull PrismParserNoIO yaml()
Description copied from interface:PrismParserSets the language of the parser to be YAML.- Specified by:
yamlin interfacePrismParser- Returns:
- Updated parser.
-
context
@NotNull @NotNull PrismParserNoIO context(@NotNull @NotNull ParsingContext context)
Description copied from interface:PrismParserProvides a parsing context for the parser. The context contains e.g. selection of strict/compat mode of operation (set by client) or a list of warnings (maintained by the parser).- Specified by:
contextin interfacePrismParser- Parameters:
context- The parsing context.- Returns:
- Updated parser.
-
strict
@NotNull @NotNull PrismParserNoIO strict()
Description copied from interface:PrismParserSwitches the parser into "strict" parsing mode.- Specified by:
strictin interfacePrismParser- Returns:
- Updated parser.
-
compat
@NotNull @NotNull PrismParserNoIO compat()
Description copied from interface:PrismParserSwitches the parser into "compatibility" (or relaxed) parsing mode. TODO description here- Specified by:
compatin interfacePrismParser- Returns:
- Updated parser.
-
definition
@NotNull @NotNull PrismParserNoIO definition(ItemDefinition<?> itemDefinition)
Description copied from interface:PrismParserTells parser which definition to use when parsing item (or an item value). Optional.- Specified by:
definitionin interfacePrismParser- Parameters:
itemDefinition- The definition- Returns:
- Updated parser.
-
name
@NotNull @NotNull PrismParserNoIO name(QName itemName)
Description copied from interface:PrismParserTells parser what name to use for parsed item. Optional.- Specified by:
namein interfacePrismParser- Parameters:
itemName- Item name to use.- Returns:
- Updated parser.
-
type
@NotNull @NotNull PrismParserNoIO type(QName typeName)
Description copied from interface:PrismParserTells parser what data type to expect. Optional.- Specified by:
typein interfacePrismParser- Parameters:
typeName- Data type to expect.- Returns:
- Updated parser.
-
type
@NotNull @NotNull PrismParserNoIO type(Class<?> typeClass)
Description copied from interface:PrismParserTells parser what data type to expect. Optional.- Specified by:
typein interfacePrismParser- Parameters:
typeClass- Data type to expect.- Returns:
- Updated parser.
-
parse
@NotNull <O extends Objectable> @NotNull PrismObject<O> parse() throws SchemaException
Description copied from interface:PrismParserParses the input as a prism object.- Specified by:
parsein interfacePrismParser- Returns:
- The object.
- Throws:
SchemaException
-
parseItem
<IV extends PrismValue,ID extends ItemDefinition> Item<IV,ID> parseItem() throws SchemaException
Description copied from interface:PrismParserParses the input as a prism item. (Object, container, reference, value.) May return raw property values as part of the prism structure, if definitions are not known.- Specified by:
parseItemin interfacePrismParser- Returns:
- The item.
- Throws:
SchemaException
-
parseItemValue
<IV extends PrismValue> IV parseItemValue() throws SchemaException
Description copied from interface:PrismParserParses the input as a prism value. (Container value, reference value, property value.) May return raw property values as part of the prism structure, if definitions are not known.- Specified by:
parseItemValuein interfacePrismParser- Returns:
- The item.
- Throws:
SchemaException
-
parseRealValue
<T> T parseRealValue(Class<T> clazz) throws SchemaException
Description copied from interface:PrismParserParses a real value - either property or container value.- Specified by:
parseRealValuein interfacePrismParser- Parameters:
clazz- Expected class of the data. May be null if unknown.- Returns:
- Real value - POJO, Containerable, Objectable or Referencable.
- Throws:
SchemaException
-
parseRealValue
<T> T parseRealValue() throws SchemaExceptionDescription copied from interface:PrismParserParses a real value. The class is not supplied by the caller, so it has to be determined from the data source.- Specified by:
parseRealValuein interfacePrismParser- Returns:
- Real value - POJO, Containerable, Objectable or Referencable.
- Throws:
SchemaException
-
parseRealValueToJaxbElement
<T> javax.xml.bind.JAXBElement<T> parseRealValueToJaxbElement() throws SchemaExceptionDescription copied from interface:PrismParserParses a real value and stores it into JAXBElement, using item name derived in the usual way.- Specified by:
parseRealValueToJaxbElementin interfacePrismParser- Throws:
SchemaException
-
parseToXNode
RootXNode parseToXNode() throws SchemaException
Description copied from interface:PrismParserParses the input into RootXNode. This is a bit unusual approach, skipping the unmarshalling phase altogether. But it is useful at some places.- Specified by:
parseToXNodein interfacePrismParser- Returns:
- RootXNode corresponding to the input.
- Throws:
SchemaException
-
parseItemOrRealValue
Object parseItemOrRealValue() throws SchemaException
Description copied from interface:PrismParserParses either an item, or a real value. It depends on the type declaration or item name in the source data. 1) If explicit type is present, it is taken into account. If it corresponds to a prism item, the input is parsed as a prism item. Otherwise, it is parsed as a real value (containerable or simple POJO), if possible. 2) If there is no type, the item name is consulted. If it corresponds to a prism item, the input is parsed as a prism item. Otherwise, an exception is thrown. Pre-set parameters (itemDefinition, typeName, itemName) must NOT be present. Use with utmost care. If at all possible, avoid it.- Specified by:
parseItemOrRealValuein interfacePrismParser- Returns:
- either prism item (Item) or a real value (Object)
- Throws:
SchemaException
-
parseObjects
@NotNull @NotNull List<PrismObject<? extends Objectable>> parseObjects() throws SchemaException
Description copied from interface:PrismParserParses the input as a collection of prism objects. For XML the input must be formatted as a collection of objects (TODO change this). For other languages the input may contain one or more objects.- Specified by:
parseObjectsin interfacePrismParser- Returns:
- A list of objects.
- Throws:
SchemaException
-
parseObjectsIteratively
void parseObjectsIteratively(@NotNull @NotNull PrismParser.ObjectHandler handler) throws SchemaExceptionDescription copied from interface:PrismParserCurrently implemented for JSON/YAML only. For XML, use old Validator code.- Specified by:
parseObjectsIterativelyin interfacePrismParser- Throws:
SchemaException
-
-