Package org.mvel2.integration.impl
Class IndexedVariableResolverFactory
- java.lang.Object
-
- org.mvel2.integration.impl.BaseVariableResolverFactory
-
- org.mvel2.integration.impl.IndexedVariableResolverFactory
-
- All Implemented Interfaces:
Serializable,VariableResolverFactory
public class IndexedVariableResolverFactory extends BaseVariableResolverFactory
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.mvel2.integration.impl.BaseVariableResolverFactory
indexedVariableNames, indexedVariableResolvers, indexOffset, nextFactory, variableResolvers
-
-
Constructor Summary
Constructors Constructor Description IndexedVariableResolverFactory(String[] varNames, Object[] values)IndexedVariableResolverFactory(String[] varNames, Object[] values, VariableResolverFactory nextFactory)IndexedVariableResolverFactory(String[] varNames, VariableResolver[] resolvers)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected VariableResolveraddResolver(String name, VariableResolver vr)voidclear()VariableResolvercreateIndexedVariable(int index, String name, Object value)VariableResolvercreateVariable(String name, Object value)Creates a new variable.VariableResolvercreateVariable(String name, Object value, Class<?> type)Creates a new variable, and assigns a static type.VariableResolvergetIndexedVariableResolver(int index)Set<String>getKnownVariables()Return a list of known variables inside the factory.VariableResolvergetVariableResolver(String name)Return a variable resolver for the specified variable name.booleanisIndexedFactory()booleanisResolveable(String name)Determines whether or not the variable is resolver in the chain of factories.booleanisTarget(String name)Deterimines whether or not the current VariableResolverFactory is the physical target for the actual variable.-
Methods inherited from class org.mvel2.integration.impl.BaseVariableResolverFactory
appendFactory, breakFlag, createIndexedVariable, getIndexedVariableNames, getNextFactory, getVariableResolvers, insertFactory, isNextResolveable, setBreakFlag, setIndexedVariableNames, setIndexedVariableResolver, setNextFactory, setTiltFlag, setVariableResolvers, tiltFlag, variableIndexOf
-
-
-
-
Constructor Detail
-
IndexedVariableResolverFactory
public IndexedVariableResolverFactory(String[] varNames, VariableResolver[] resolvers)
-
IndexedVariableResolverFactory
public IndexedVariableResolverFactory(String[] varNames, Object[] values)
-
IndexedVariableResolverFactory
public IndexedVariableResolverFactory(String[] varNames, Object[] values, VariableResolverFactory nextFactory)
-
-
Method Detail
-
createIndexedVariable
public VariableResolver createIndexedVariable(int index, String name, Object value)
- Specified by:
createIndexedVariablein interfaceVariableResolverFactory- Overrides:
createIndexedVariablein classBaseVariableResolverFactory
-
getIndexedVariableResolver
public VariableResolver getIndexedVariableResolver(int index)
- Specified by:
getIndexedVariableResolverin interfaceVariableResolverFactory- Overrides:
getIndexedVariableResolverin classBaseVariableResolverFactory
-
createVariable
public VariableResolver createVariable(String name, Object value)
Description copied from interface:VariableResolverFactoryCreates a new variable. This probably doesn't need to be implemented in most scenarios. This is used for variable assignment.- Parameters:
name- - name of the variable being createdvalue- - value of the variable- Returns:
- instance of the variable resolver associated with the variable
-
createVariable
public VariableResolver createVariable(String name, Object value, Class<?> type)
Description copied from interface:VariableResolverFactoryCreates a new variable, and assigns a static type. It is expected the underlying factory and resolver will enforce this.- Parameters:
name- - name of the variable being createdvalue- - value of the variabletype- - the static type- Returns:
- instance of the variable resolver associated with the variable
-
getVariableResolver
public VariableResolver getVariableResolver(String name)
Description copied from interface:VariableResolverFactoryReturn a variable resolver for the specified variable name. This method is expected to traverse the heirarchy of ResolverFactories.- Specified by:
getVariableResolverin interfaceVariableResolverFactory- Overrides:
getVariableResolverin classBaseVariableResolverFactory- Parameters:
name- - variable name- Returns:
- - instance of the VariableResolver for the specified variable
-
isResolveable
public boolean isResolveable(String name)
Description copied from interface:VariableResolverFactoryDetermines whether or not the variable is resolver in the chain of factories.- Parameters:
name- - variable name- Returns:
- - boolean
-
addResolver
protected VariableResolver addResolver(String name, VariableResolver vr)
-
isTarget
public boolean isTarget(String name)
Description copied from interface:VariableResolverFactoryDeterimines whether or not the current VariableResolverFactory is the physical target for the actual variable.- Parameters:
name- - variable name- Returns:
- - boolean indicating whether or not factory is the physical target
-
getKnownVariables
public Set<String> getKnownVariables()
Description copied from interface:VariableResolverFactoryReturn 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:
getKnownVariablesin interfaceVariableResolverFactory- Overrides:
getKnownVariablesin classBaseVariableResolverFactory- Returns:
- variables
-
clear
public void clear()
-
isIndexedFactory
public boolean isIndexedFactory()
- Specified by:
isIndexedFactoryin interfaceVariableResolverFactory- Overrides:
isIndexedFactoryin classBaseVariableResolverFactory
-
-