Package org.mvel2.integration.impl
Class FunctionVariableResolverFactory
- java.lang.Object
-
- org.mvel2.integration.impl.BaseVariableResolverFactory
-
- org.mvel2.integration.impl.FunctionVariableResolverFactory
-
- All Implemented Interfaces:
java.io.Serializable
,LocalVariableResolverFactory
,VariableResolverFactory
public class FunctionVariableResolverFactory extends BaseVariableResolverFactory implements LocalVariableResolverFactory
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Function
function
private boolean
noTilt
-
Fields inherited from class org.mvel2.integration.impl.BaseVariableResolverFactory
indexedVariableNames, indexedVariableResolvers, indexOffset, nextFactory, variableResolvers
-
-
Constructor Summary
Constructors Constructor Description FunctionVariableResolverFactory(Function function, VariableResolverFactory nextFactory, java.lang.String[] indexedVariables, java.lang.Object[] parameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VariableResolver
createIndexedVariable(int index, java.lang.String name, java.lang.Object value)
VariableResolver
createIndexedVariable(int index, java.lang.String name, java.lang.Object value, java.lang.Class<?> type)
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.Function
getFunction()
VariableResolver
getIndexedVariableResolver(int index)
VariableResolver[]
getIndexedVariableResolvers()
VariableResolver
getVariableResolver(java.lang.String name)
Return a variable resolver for the specified variable name.private int
increaseRegisterTableSize()
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.void
setIndexedVariableResolvers(VariableResolver[] vr)
void
setIndexOffset(int offset)
VariableResolverFactory
setNoTilt(boolean noTilt)
void
setTiltFlag(boolean tiltFlag)
void
updateParameters(java.lang.Object[] parameters)
-
Methods inherited from class org.mvel2.integration.impl.BaseVariableResolverFactory
appendFactory, getIndexedVariableNames, getKnownVariables, getNextFactory, getVariableResolvers, insertFactory, isNextResolveable, setIndexedVariableNames, setIndexedVariableResolver, setNextFactory, setVariableResolvers, tiltFlag, variableIndexOf
-
-
-
-
Field Detail
-
function
private Function function
-
noTilt
private boolean noTilt
-
-
Constructor Detail
-
FunctionVariableResolverFactory
public FunctionVariableResolverFactory(Function function, VariableResolverFactory nextFactory, java.lang.String[] indexedVariables, java.lang.Object[] parameters)
-
-
Method Detail
-
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.- Specified by:
isResolveable
in interfaceVariableResolverFactory
- Parameters:
name
- - variable name- Returns:
- - boolean
-
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.- Specified by:
createVariable
in interfaceVariableResolverFactory
- 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.- Specified by:
createVariable
in interfaceVariableResolverFactory
- 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
-
createIndexedVariable
public VariableResolver createIndexedVariable(int index, java.lang.String name, java.lang.Object value)
- Specified by:
createIndexedVariable
in interfaceVariableResolverFactory
- Overrides:
createIndexedVariable
in classBaseVariableResolverFactory
-
createIndexedVariable
public VariableResolver createIndexedVariable(int index, java.lang.String name, java.lang.Object value, java.lang.Class<?> type)
- Specified by:
createIndexedVariable
in interfaceVariableResolverFactory
- Overrides:
createIndexedVariable
in classBaseVariableResolverFactory
-
getIndexedVariableResolver
public VariableResolver getIndexedVariableResolver(int index)
- Specified by:
getIndexedVariableResolver
in interfaceVariableResolverFactory
- Overrides:
getIndexedVariableResolver
in classBaseVariableResolverFactory
-
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
-
isIndexedFactory
public boolean isIndexedFactory()
- Specified by:
isIndexedFactory
in interfaceVariableResolverFactory
- Overrides:
isIndexedFactory
in classBaseVariableResolverFactory
-
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.- Specified by:
isTarget
in interfaceVariableResolverFactory
- Parameters:
name
- - variable name- Returns:
- - boolean indicating whether or not factory is the physical target
-
increaseRegisterTableSize
private int increaseRegisterTableSize()
-
updateParameters
public void updateParameters(java.lang.Object[] parameters)
-
getIndexedVariableResolvers
public VariableResolver[] getIndexedVariableResolvers()
-
setIndexedVariableResolvers
public void setIndexedVariableResolvers(VariableResolver[] vr)
-
getFunction
public Function getFunction()
-
setIndexOffset
public void setIndexOffset(int offset)
-
setNoTilt
public VariableResolverFactory setNoTilt(boolean noTilt)
-
setTiltFlag
public void setTiltFlag(boolean tiltFlag)
- Specified by:
setTiltFlag
in interfaceVariableResolverFactory
- Overrides:
setTiltFlag
in classBaseVariableResolverFactory
-
-