Package org.mvel2.integration.impl
Class IndexedVariableResolverFactory
- java.lang.Object
-
- org.mvel2.integration.impl.BaseVariableResolverFactory
-
- org.mvel2.integration.impl.IndexedVariableResolverFactory
-
- All Implemented Interfaces:
java.io.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(java.lang.String[] varNames, java.lang.Object[] values)IndexedVariableResolverFactory(java.lang.String[] varNames, java.lang.Object[] values, VariableResolverFactory nextFactory)IndexedVariableResolverFactory(java.lang.String[] varNames, VariableResolver[] resolvers)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected VariableResolveraddResolver(java.lang.String name, VariableResolver vr)voidclear()VariableResolvercreateIndexedVariable(int index, java.lang.String name, java.lang.Object value)private static VariableResolver[]createResolvers(java.lang.Object[] values, int size)VariableResolvercreateVariable(java.lang.String name, java.lang.Object value)Creates a new variable.VariableResolvercreateVariable(java.lang.String name, java.lang.Object value, java.lang.Class<?> type)Creates a new variable, and assigns a static type.VariableResolvergetIndexedVariableResolver(int index)java.util.Set<java.lang.String>getKnownVariables()Return a list of known variables inside the factory.private VariableResolvergetResolver(java.lang.String name)VariableResolvergetVariableResolver(java.lang.String name)Return a variable resolver for the specified variable name.booleanisIndexedFactory()booleanisResolveable(java.lang.String name)Determines whether or not the variable is resolver in the chain of factories.booleanisTarget(java.lang.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, createIndexedVariable, getIndexedVariableNames, getNextFactory, getVariableResolvers, insertFactory, isNextResolveable, setIndexedVariableNames, setIndexedVariableResolver, setNextFactory, setTiltFlag, setVariableResolvers, tiltFlag, variableIndexOf
-
-
-
-
Constructor Detail
-
IndexedVariableResolverFactory
public IndexedVariableResolverFactory(java.lang.String[] varNames, VariableResolver[] resolvers)
-
IndexedVariableResolverFactory
public IndexedVariableResolverFactory(java.lang.String[] varNames, java.lang.Object[] values)
-
IndexedVariableResolverFactory
public IndexedVariableResolverFactory(java.lang.String[] varNames, java.lang.Object[] values, VariableResolverFactory nextFactory)
-
-
Method Detail
-
createResolvers
private static VariableResolver[] createResolvers(java.lang.Object[] values, int size)
-
createIndexedVariable
public VariableResolver createIndexedVariable(int index, java.lang.String name, java.lang.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(java.lang.String name, java.lang.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(java.lang.String name, java.lang.Object value, java.lang.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(java.lang.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(java.lang.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(java.lang.String name, VariableResolver vr)
-
getResolver
private VariableResolver getResolver(java.lang.String name)
-
isTarget
public boolean isTarget(java.lang.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 java.util.Set<java.lang.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
-
-