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 VariableResolver
addResolver(java.lang.String name, VariableResolver vr)
void
clear()
VariableResolver
createIndexedVariable(int index, java.lang.String name, java.lang.Object value)
private static VariableResolver[]
createResolvers(java.lang.Object[] values, int size)
VariableResolver
createVariable(java.lang.String name, java.lang.Object value)
Creates a new variable.VariableResolver
createVariable(java.lang.String name, java.lang.Object value, java.lang.Class<?> type)
Creates a new variable, and assigns a static type.VariableResolver
getIndexedVariableResolver(int index)
java.util.Set<java.lang.String>
getKnownVariables()
Return a list of known variables inside the factory.private VariableResolver
getResolver(java.lang.String name)
VariableResolver
getVariableResolver(java.lang.String name)
Return a variable resolver for the specified variable name.boolean
isIndexedFactory()
boolean
isResolveable(java.lang.String name)
Determines whether or not the variable is resolver in the chain of factories.boolean
isTarget(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:
createIndexedVariable
in interfaceVariableResolverFactory
- Overrides:
createIndexedVariable
in classBaseVariableResolverFactory
-
getIndexedVariableResolver
public VariableResolver getIndexedVariableResolver(int index)
- Specified by:
getIndexedVariableResolver
in interfaceVariableResolverFactory
- Overrides:
getIndexedVariableResolver
in classBaseVariableResolverFactory
-
createVariable
public VariableResolver createVariable(java.lang.String name, java.lang.Object value)
Description copied from interface:VariableResolverFactory
Creates 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:VariableResolverFactory
Creates 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: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
- Overrides:
getVariableResolver
in 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:VariableResolverFactory
Determines 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:VariableResolverFactory
Deterimines 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: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
- Overrides:
getKnownVariables
in classBaseVariableResolverFactory
- Returns:
- variables
-
clear
public void clear()
-
isIndexedFactory
public boolean isIndexedFactory()
- Specified by:
isIndexedFactory
in interfaceVariableResolverFactory
- Overrides:
isIndexedFactory
in classBaseVariableResolverFactory
-
-