Class PrismQueryLanguageParserImpl
java.lang.Object
com.evolveum.midpoint.prism.impl.query.lang.PrismQueryLanguageParserImpl
- All Implemented Interfaces:
PrismQueryLanguageParser
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static interface
static class
-
Field Summary
-
Constructor Summary
ConstructorDescriptionPrismQueryLanguageParserImpl
(PrismContext context) PrismQueryLanguageParserImpl
(PrismContext context, Map<String, String> namespaceContext) PrismQueryLanguageParserImpl
(PrismContext context, Map<String, String> namespaceContext, PrismQueryExpressionFactory expressionParser) -
Method Summary
Modifier and TypeMethodDescriptionstatic PrismQueryLanguageParserImpl
create
(PrismContext prismContext) protected boolean
isVariablePath
(AxiomQueryParser.SingleValueContext singleValue) protected PreparedPrismQuery
parse
(ItemDefinition<?> contextDef, AxiomQuerySource source, boolean placeholdersEnabled) parse
(ItemDefinition<?> definition, String query) protected ObjectFilter
parseBound
(com.evolveum.midpoint.prism.impl.query.lang.QueryParsingContext context) parseFilter
(ItemDefinition<?> definition, String query) <T> ObjectFilter
parseFilter
(Class<T> typeClass, String query) Parses Axiom Query filter with definition derived from the provided type class.protected <T> T
requireLiteral
(Class<T> type, String filterName, AxiomQueryParser.SingleValueContext value) protected <T> Collection<T>
requireLiterals
(Class<T> type, String filterName, AxiomQueryParser.SubfilterOrValueContext subfilterOrValue)
-
Field Details
-
QUERY_NS
- See Also:
-
MATCHING_RULE_NS
- See Also:
-
-
Constructor Details
-
PrismQueryLanguageParserImpl
-
PrismQueryLanguageParserImpl
-
PrismQueryLanguageParserImpl
public PrismQueryLanguageParserImpl(PrismContext context, Map<String, String> namespaceContext, PrismQueryExpressionFactory expressionParser)
-
-
Method Details
-
isVariablePath
-
requireLiterals
protected <T> Collection<T> requireLiterals(Class<T> type, String filterName, AxiomQueryParser.SubfilterOrValueContext subfilterOrValue) throws SchemaException - Throws:
SchemaException
-
requireLiteral
protected <T> T requireLiteral(Class<T> type, String filterName, AxiomQueryParser.SingleValueContext value) throws SchemaException - Throws:
SchemaException
-
parseFilter
Description copied from interface:PrismQueryLanguageParser
Parses Axiom Query filter with definition derived from the provided type class. For reference search filters use anyReferencable
and follow the rules for reference search filter: * exactly one ownedBy to define the reference context, * any number of additional REF on the SELF path, that is `. matches (...)`.- Specified by:
parseFilter
in interfacePrismQueryLanguageParser
- Throws:
SchemaException
-
parseFilter
- Specified by:
parseFilter
in interfacePrismQueryLanguageParser
- Throws:
SchemaException
-
parse
- Specified by:
parse
in interfacePrismQueryLanguageParser
- Throws:
SchemaException
-
parse
- Specified by:
parse
in interfacePrismQueryLanguageParser
- Throws:
SchemaException
-
parse
protected PreparedPrismQuery parse(ItemDefinition<?> contextDef, AxiomQuerySource source, boolean placeholdersEnabled) throws SchemaException - Throws:
SchemaException
-
parseBound
protected ObjectFilter parseBound(com.evolveum.midpoint.prism.impl.query.lang.QueryParsingContext context) throws SchemaException - Throws:
SchemaException
-
create
-