Class MapBasedQueryWalker
- java.lang.Object
-
- org.alfresco.rest.framework.resource.parameters.where.QueryHelper.WalkerCallbackAdapter
-
- org.alfresco.rest.workflow.api.impl.MapBasedQueryWalker
-
- All Implemented Interfaces:
QueryHelper.WalkerCallback
- Direct Known Subclasses:
AbstractClassImpl.ClassQueryWalker
,MapBasedQueryWalkerOrSupported
public class MapBasedQueryWalker extends QueryHelper.WalkerCallbackAdapter
Query walker that adds all properties for "equals" comparison to a map. If an unsupported property or comparison operation is encountered, anInvalidArgumentException
is thrown unless the methodhandleUnmatchedComparison(int, String, String)
returns true (default implementation returns false).- Author:
- Frederik Heremans, Tijs Rademakers
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MapBasedQueryWalker.QueryVariableHolder
-
Field Summary
-
Fields inherited from class org.alfresco.rest.framework.resource.parameters.where.QueryHelper.WalkerCallbackAdapter
UNSUPPORTED
-
-
Constructor Summary
Constructors Constructor Description MapBasedQueryWalker(Set<String> supportedEqualsParameters, Set<String> supportedMatchesParameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
and()
Called any time an AND is encountered.void
comparison(int type, String propertyName, String propertyValue, boolean negated)
One of EQUALS LESSTHAN GREATERTHAN LESSTHANOREQUALS GREATERTHANOREQUALS;void
enableVariablesSupport(org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
String
getProperty(String propertyName, int type)
<T> T
getProperty(String propertyName, int type, Class<T> returnType)
Get the property value, converted to the requested type.List<MapBasedQueryWalker.QueryVariableHolder>
getVariableProperties()
protected boolean
handleUnmatchedComparison(int type, String propertyName, String propertyValue)
Called when unsupported property is encountered or comparison operator other than equals.void
matches(String property, String value, boolean negated)
Called any time a MATCHES clause is encountered.protected void
processVariable(String propertyName, String propertyValue, int type)
void
setSupportedGreaterThanOrEqualParameters(Set<String> supportedGreaterThanOrEqualParameters)
void
setSupportedGreaterThanParameters(Set<String> supportedGreaterThanParameters)
void
setSupportedLessThanOrEqualParameters(Set<String> supportedLessThanOrEqualParameters)
void
setSupportedLessThanParameters(Set<String> supportedLessThanParameters)
-
Methods inherited from class org.alfresco.rest.framework.resource.parameters.where.QueryHelper.WalkerCallbackAdapter
between, exists, in, or
-
-
-
-
Method Detail
-
setSupportedGreaterThanParameters
public void setSupportedGreaterThanParameters(Set<String> supportedGreaterThanParameters)
-
setSupportedGreaterThanOrEqualParameters
public void setSupportedGreaterThanOrEqualParameters(Set<String> supportedGreaterThanOrEqualParameters)
-
setSupportedLessThanParameters
public void setSupportedLessThanParameters(Set<String> supportedLessThanParameters)
-
setSupportedLessThanOrEqualParameters
public void setSupportedLessThanOrEqualParameters(Set<String> supportedLessThanOrEqualParameters)
-
enableVariablesSupport
public void enableVariablesSupport(org.alfresco.service.namespace.NamespaceService namespaceService, org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
-
getVariableProperties
public List<MapBasedQueryWalker.QueryVariableHolder> getVariableProperties()
-
matches
public void matches(String property, String value, boolean negated)
Description copied from interface:QueryHelper.WalkerCallback
Called any time a MATCHES clause is encountered.- Specified by:
matches
in interfaceQueryHelper.WalkerCallback
- Overrides:
matches
in classQueryHelper.WalkerCallbackAdapter
- Parameters:
property
- Name of the propertyvalue
- Stringnegated
- returns true if "NOT MATCHES" was used
-
comparison
public void comparison(int type, String propertyName, String propertyValue, boolean negated)
Description copied from interface:QueryHelper.WalkerCallback
One of EQUALS LESSTHAN GREATERTHAN LESSTHANOREQUALS GREATERTHANOREQUALS;- Specified by:
comparison
in interfaceQueryHelper.WalkerCallback
- Overrides:
comparison
in classQueryHelper.WalkerCallbackAdapter
-
getProperty
public <T> T getProperty(String propertyName, int type, Class<T> returnType)
Get the property value, converted to the requested type.- Parameters:
propertyName
- name of the parametertype
- intreturnType
- type of object to return- Returns:
- the converted parameter value. Null, if the property has no value.
- Throws:
IllegalArgumentException
- when no conversion for the given returnType is available or if returnType is null.InvalidArgumentException
- when conversion to the given type was not possible due to an error while converting
-
and
public void and()
Description copied from interface:QueryHelper.WalkerCallback
Called any time an AND is encountered.- Specified by:
and
in interfaceQueryHelper.WalkerCallback
- Overrides:
and
in classQueryHelper.WalkerCallbackAdapter
-
processVariable
protected void processVariable(String propertyName, String propertyValue, int type)
-
handleUnmatchedComparison
protected boolean handleUnmatchedComparison(int type, String propertyName, String propertyValue)
Called when unsupported property is encountered or comparison operator other than equals.- Returns:
- true, if the comparison is handles successfully. False, if an exception should be thrown because the comparison can't be handled.
-
-