Package org.mvel2.integration.impl
Class StackResetResolverFactory
- java.lang.Object
-
- org.mvel2.integration.impl.StackResetResolverFactory
-
- All Implemented Interfaces:
Serializable,VariableResolverFactory
public class StackResetResolverFactory extends Object implements VariableResolverFactory
- Author:
- Mike Brock
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description StackResetResolverFactory(VariableResolverFactory delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbreakFlag()VariableResolvercreateIndexedVariable(int index, String name, Object value)VariableResolvercreateIndexedVariable(int index, String name, Object value, Class<?> typee)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.VariableResolverFactorygetDelegate()VariableResolvergetIndexedVariableResolver(int index)Set<String>getKnownVariables()Return a list of known variables inside the factory.VariableResolverFactorygetNextFactory()Returns the next factory in the factory chain.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.voidsetBreakFlag(boolean breakFlag)voidsetDelegate(VariableResolverFactory delegate)VariableResolversetIndexedVariableResolver(int index, VariableResolver variableResolver)VariableResolverFactorysetNextFactory(VariableResolverFactory resolverFactory)Sets the next factory in the chain.voidsetTiltFlag(boolean tilt)booleantiltFlag()intvariableIndexOf(String name)
-
-
-
Constructor Detail
-
StackResetResolverFactory
public StackResetResolverFactory(VariableResolverFactory delegate)
-
-
Method Detail
-
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.- Specified by:
createVariablein interfaceVariableResolverFactory- Parameters:
name- - name of the variable being createdvalue- - value of the variable- Returns:
- instance of the variable resolver associated with the variable
-
createIndexedVariable
public VariableResolver createIndexedVariable(int index, String name, Object value)
- Specified by:
createIndexedVariablein interfaceVariableResolverFactory
-
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.- Specified by:
createVariablein 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, String name, Object value, Class<?> typee)
- Specified by:
createIndexedVariablein interfaceVariableResolverFactory
-
setIndexedVariableResolver
public VariableResolver setIndexedVariableResolver(int index, VariableResolver variableResolver)
- Specified by:
setIndexedVariableResolverin interfaceVariableResolverFactory
-
getNextFactory
public VariableResolverFactory getNextFactory()
Description copied from interface:VariableResolverFactoryReturns 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:
getNextFactoryin interfaceVariableResolverFactory- Returns:
- instance of the next factory - null if none.
-
setNextFactory
public VariableResolverFactory setNextFactory(VariableResolverFactory resolverFactory)
Description copied from interface:VariableResolverFactorySets the next factory in the chain. Proper implementation:return this.nextFactory = resolverFactory;- Specified by:
setNextFactoryin interfaceVariableResolverFactory- Parameters:
resolverFactory- - instance of next resolver factory- Returns:
- - instance of next resolver factory
-
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- Parameters:
name- - variable name- Returns:
- - instance of the VariableResolver for the specified variable
-
getIndexedVariableResolver
public VariableResolver getIndexedVariableResolver(int index)
- Specified by:
getIndexedVariableResolverin interfaceVariableResolverFactory
-
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.- Specified by:
isTargetin interfaceVariableResolverFactory- Parameters:
name- - variable name- Returns:
- - boolean indicating whether or not factory is the physical target
-
isResolveable
public boolean isResolveable(String name)
Description copied from interface:VariableResolverFactoryDetermines whether or not the variable is resolver in the chain of factories.- Specified by:
isResolveablein interfaceVariableResolverFactory- Parameters:
name- - variable name- Returns:
- - boolean
-
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- Returns:
- variables
-
variableIndexOf
public int variableIndexOf(String name)
- Specified by:
variableIndexOfin interfaceVariableResolverFactory
-
isIndexedFactory
public boolean isIndexedFactory()
- Specified by:
isIndexedFactoryin interfaceVariableResolverFactory
-
tiltFlag
public boolean tiltFlag()
- Specified by:
tiltFlagin interfaceVariableResolverFactory
-
setTiltFlag
public void setTiltFlag(boolean tilt)
- Specified by:
setTiltFlagin interfaceVariableResolverFactory
-
breakFlag
public boolean breakFlag()
- Specified by:
breakFlagin interfaceVariableResolverFactory
-
setBreakFlag
public void setBreakFlag(boolean breakFlag)
- Specified by:
setBreakFlagin interfaceVariableResolverFactory
-
getDelegate
public VariableResolverFactory getDelegate()
-
setDelegate
public void setDelegate(VariableResolverFactory delegate)
-
-