Package org.mvel2.integration.impl
Class BaseVariableResolverFactory
java.lang.Object
org.mvel2.integration.impl.BaseVariableResolverFactory
- All Implemented Interfaces:
Serializable
,VariableResolverFactory
- Direct Known Subclasses:
CachedMapVariableResolverFactory
,CachingMapVariableResolverFactory
,ClassImportResolverFactory
,FunctionVariableResolverFactory
,IndexedVariableResolverFactory
,ItemResolverFactory
,MapVariableResolverFactory
,SimpleVariableResolverFactory
,StaticMethodImportResolverFactory
Use this class to extend you own VariableResolverFactories. It contains most of the baseline implementation needed
for the vast majority of integration needs.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String[]
protected VariableResolver[]
protected int
protected VariableResolverFactory
private boolean
protected Map
<String, VariableResolver> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendFactory
(VariableResolverFactory resolverFactory) createIndexedVariable
(int index, String name, Object value) createIndexedVariable
(int index, String name, Object value, Class<?> type) String[]
getIndexedVariableResolver
(int index) Return a list of known variables inside the factory.Returns the next factory in the factory chain.getVariableResolver
(String name) Return a variable resolver for the specified variable name.void
insertFactory
(VariableResolverFactory resolverFactory) boolean
boolean
isNextResolveable
(String name) void
setIndexedVariableNames
(String[] indexedVariableNames) setIndexedVariableResolver
(int index, VariableResolver resolver) setNextFactory
(VariableResolverFactory resolverFactory) Sets the next factory in the chain.void
setTiltFlag
(boolean tiltFlag) void
setVariableResolvers
(Map<String, VariableResolver> variableResolvers) boolean
tiltFlag()
int
variableIndexOf
(String name) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.mvel2.integration.VariableResolverFactory
createVariable, createVariable, isResolveable, isTarget
-
Field Details
-
variableResolvers
-
nextFactory
-
indexOffset
protected int indexOffset -
indexedVariableNames
-
indexedVariableResolvers
-
tiltFlag
private boolean tiltFlag
-
-
Constructor Details
-
BaseVariableResolverFactory
public BaseVariableResolverFactory()
-
-
Method Details
-
getNextFactory
Description copied from interface:VariableResolverFactory
Returns the next factory in the factory chain. MVEL uses a hierarchical variable resolution strategy, much in the same way as Classloaders in Java. For performance reasons, it is the responsibility of the individual VariableResolverFactory to pass off to the next one.- Specified by:
getNextFactory
in interfaceVariableResolverFactory
- Returns:
- instance of the next factory - null if none.
-
setNextFactory
Description copied from interface:VariableResolverFactory
Sets the next factory in the chain. Proper implementation:return this.nextFactory = resolverFactory;
- Specified by:
setNextFactory
in interfaceVariableResolverFactory
- Parameters:
resolverFactory
- - instance of next resolver factory- Returns:
- - instance of next resolver factory
-
getVariableResolver
Description copied from interface:VariableResolverFactory
Return a variable resolver for the specified variable name. This method is expected to traverse the heirarchy of ResolverFactories.- Specified by:
getVariableResolver
in interfaceVariableResolverFactory
- Parameters:
name
- - variable name- Returns:
- - instance of the VariableResolver for the specified variable
-
isNextResolveable
-
appendFactory
-
insertFactory
-
getKnownVariables
Description copied from interface:VariableResolverFactory
Return a list of known variables inside the factory. This method should not recurse into other factories. But rather return only the variables living inside this factory.- Specified by:
getKnownVariables
in interfaceVariableResolverFactory
- Returns:
- variables
-
createIndexedVariable
- Specified by:
createIndexedVariable
in interfaceVariableResolverFactory
-
getIndexedVariableResolver
- Specified by:
getIndexedVariableResolver
in interfaceVariableResolverFactory
-
createIndexedVariable
- Specified by:
createIndexedVariable
in interfaceVariableResolverFactory
-
getVariableResolvers
-
setVariableResolvers
-
getIndexedVariableNames
-
setIndexedVariableNames
-
variableIndexOf
- Specified by:
variableIndexOf
in interfaceVariableResolverFactory
-
setIndexedVariableResolver
- Specified by:
setIndexedVariableResolver
in interfaceVariableResolverFactory
-
isIndexedFactory
public boolean isIndexedFactory()- Specified by:
isIndexedFactory
in interfaceVariableResolverFactory
-
tiltFlag
public boolean tiltFlag()- Specified by:
tiltFlag
in interfaceVariableResolverFactory
-
setTiltFlag
public void setTiltFlag(boolean tiltFlag) - Specified by:
setTiltFlag
in interfaceVariableResolverFactory
-