Class PrismParserImplIO
java.lang.Object
com.evolveum.midpoint.prism.impl.marshaller.PrismParserImplIO
- All Implemented Interfaces:
- PrismParser
- 
Nested Class SummaryNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismParserPrismParser.ObjectHandler
- 
Constructor SummaryConstructorsConstructorDescriptionPrismParserImplIO(ParserSource source, String language, ParsingContext context, PrismContextImpl prismContext, ItemDefinition<?> itemDefinition, QName itemName, QName typeName, Class<?> typeClass) 
- 
Method SummaryModifier and TypeMethodDescription@NotNull PrismParsercompat()Switches the parser into "compatibility" (or relaxed) parsing mode.@NotNull PrismParsercontext(@NotNull ParsingContext context) Provides a parsing context for the parser.@NotNull PrismParserdefinition(ItemDefinition<?> itemDefinition) Tells parser which definition to use when parsing item (or an item value).@NotNull PrismParserDoes not check for existing values during parsing.@NotNull PrismParserjson()Sets the language of the parser to be JSON.@NotNull PrismParserFor string inputs: sets the data language that the parser will try to parse; null means auto-detect.@NotNull PrismParserTells 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> Parses the input as a prism item.Parses either an item, or a real value.<IV extends PrismValue>
 IVParses the input as a prism value.@NotNull List<PrismObject<? extends Objectable>>Parses the input as a collection of prism objects.voidparseObjectsIteratively(@NotNull PrismParser.ObjectHandler handler) Currently implemented for JSON/YAML only.<T> TParses a real value.<T> TparseRealValue(Class<T> clazz) Parses a real value - either property or container value.<T> jakarta.xml.bind.JAXBElement<T>Parses a real value and stores it into JAXBElement, using item name derived in the usual way.Parses the input into RootXNode.@NotNull PrismParserstrict()Switches the parser into "strict" parsing mode.@NotNull PrismParserTells parser what data type to expect.@NotNull PrismParserTells parser what data type to expect.@NotNull PrismParserxml()Sets the language of the parser to be XML.@NotNull PrismParseryaml()Sets the language of the parser to be YAML.
- 
Constructor Details- 
PrismParserImplIOpublic PrismParserImplIO(ParserSource source, String language, ParsingContext context, PrismContextImpl prismContext, ItemDefinition<?> itemDefinition, QName itemName, QName typeName, Class<?> typeClass) 
 
- 
- 
Method Details- 
parse@NotNull public <O extends Objectable> @NotNull PrismObject<O> parse() throws SchemaException, IOExceptionDescription copied from interface:PrismParserParses the input as a prism object.- Returns:
- The object.
- Throws:
- SchemaException
- IOException
 
- 
parseItempublic <IV extends PrismValue,ID extends ItemDefinition<?>> Item<IV,ID> parseItem() throws SchemaException, IOExceptionDescription 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.- Returns:
- The item.
- Throws:
- SchemaException
- IOException
 
- 
parseItemValueDescription 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.- Returns:
- The item.
- Throws:
- SchemaException
- IOException
 
- 
parseRealValueDescription copied from interface:PrismParserParses a real value - either property or container value.- Parameters:
- clazz- Expected class of the data. May be null if unknown.
- Returns:
- Real value - POJO, Containerable, Objectable or Referencable.
- Throws:
- IOException
- SchemaException
 
- 
parseRealValueDescription 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.- Returns:
- Real value - POJO, Containerable, Objectable or Referencable.
- Throws:
- IOException
- SchemaException
 
- 
parseRealValueToJaxbElementpublic <T> jakarta.xml.bind.JAXBElement<T> parseRealValueToJaxbElement() throws IOException, SchemaExceptionDescription copied from interface:PrismParserParses a real value and stores it into JAXBElement, using item name derived in the usual way.- Throws:
- IOException
- SchemaException
 
- 
parseToXNodeDescription 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.- Returns:
- RootXNode corresponding to the input.
- Throws:
- IOException
- SchemaException
 
- 
parseObjects@NotNull public @NotNull List<PrismObject<? extends Objectable>> parseObjects() throws SchemaException, IOExceptionDescription 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.- Returns:
- A list of objects.
- Throws:
- SchemaException
- IOException
 
- 
parseObjectsIterativelypublic void parseObjectsIteratively(@NotNull @NotNull PrismParser.ObjectHandler handler) throws SchemaException, IOException Description copied from interface:PrismParserCurrently implemented for JSON/YAML only. For XML, use old Validator code.- Throws:
- SchemaException
- IOException
 
- 
parseItemOrRealValueDescription 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.- Returns:
- either prism item (Item) or a real value (Object)
- Throws:
- IOException
- SchemaException
 
- 
languageDescription 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 interface- PrismParser
- Parameters:
- language- The language
- Returns:
- Updated parser.
 
- 
xmlDescription copied from interface:PrismParserSets the language of the parser to be XML.- Specified by:
- xmlin interface- PrismParser
- Returns:
- Updated parser.
 
- 
jsonDescription copied from interface:PrismParserSets the language of the parser to be JSON.- Specified by:
- jsonin interface- PrismParser
- Returns:
- Updated parser.
 
- 
yamlDescription copied from interface:PrismParserSets the language of the parser to be YAML.- Specified by:
- yamlin interface- PrismParser
- Returns:
- Updated parser.
 
- 
contextDescription 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 interface- PrismParser
- Parameters:
- context- The parsing context.
- Returns:
- Updated parser.
 
- 
strictDescription copied from interface:PrismParserSwitches the parser into "strict" parsing mode.- Specified by:
- strictin interface- PrismParser
- Returns:
- Updated parser.
 
- 
compatDescription copied from interface:PrismParserSwitches the parser into "compatibility" (or relaxed) parsing mode. TODO description here- Specified by:
- compatin interface- PrismParser
- Returns:
- Updated parser.
 
- 
fastAddOperationsDescription copied from interface:PrismParserDoes not check for existing values during parsing. To be used in situations where the data can be trusted to not contain duplicates - for example, when reading from the repository.- Specified by:
- fastAddOperationsin interface- PrismParser
 
- 
convertMissingTypes- Specified by:
- convertMissingTypesin interface- PrismParser
 
- 
definitionDescription copied from interface:PrismParserTells parser which definition to use when parsing item (or an item value). Optional.- Specified by:
- definitionin interface- PrismParser
- Parameters:
- itemDefinition- The definition
- Returns:
- Updated parser.
 
- 
nameDescription copied from interface:PrismParserTells parser what name to use for parsed item. Optional.- Specified by:
- namein interface- PrismParser
- Parameters:
- itemName- Item name to use.
- Returns:
- Updated parser.
 
- 
typeDescription copied from interface:PrismParserTells parser what data type to expect. Optional.- Specified by:
- typein interface- PrismParser
- Parameters:
- typeName- Data type to expect.
- Returns:
- Updated parser.
 
- 
typeDescription copied from interface:PrismParserTells parser what data type to expect. Optional.- Specified by:
- typein interface- PrismParser
- Parameters:
- typeClass- Data type to expect.
- Returns:
- Updated parser.
 
 
-