Class RootPropertyResolver

java.lang.Object
org.flowable.common.engine.impl.javax.el.ELResolver
org.flowable.common.engine.impl.de.odysseus.el.util.RootPropertyResolver

public class RootPropertyResolver extends ELResolver
Simple root property resolver implementation. This resolver handles root properties (i.e. base == null && property instanceof String), which are stored in a map. The properties can be accessed via the getProperty(String), setProperty(String, Object), isProperty(String) and properties() methods.
Author:
Christoph Beck
  • Constructor Details

    • RootPropertyResolver

      public RootPropertyResolver()
      Create a read/write root property resolver
    • RootPropertyResolver

      public RootPropertyResolver(boolean readOnly)
      Create a root property resolver
      Parameters:
      readOnly -
  • Method Details

    • getCommonPropertyType

      public Class<?> getCommonPropertyType(ELContext context, Object base)
      Description copied from class: ELResolver
      Obtain the most common type that is acceptable for the given base object.
      Specified by:
      getCommonPropertyType in class ELResolver
      Parameters:
      context - The context in which the examination takes place
      base - The object to examine
      Returns:
      {code null} if the most common type cannot be determined, otherwise the most common type
    • getType

      public Class<?> getType(ELContext context, Object base, Object property)
      Description copied from class: ELResolver
      Obtain the most generally acceptable type that may be used to set the given property on the given object using the given context.
      Specified by:
      getType in class ELResolver
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property whose type is to be returned
      Returns:
      the most general type that maybe used to set the provided property or null if the resolver is read-only.
    • getValue

      public Object getValue(ELContext context, Object base, Object property)
      Description copied from class: ELResolver
      Obtain the value of the given property on the given object using the given context.
      Specified by:
      getValue in class ELResolver
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property whose value is to be returned
      Returns:
      the value of the provided property
    • isReadOnly

      public boolean isReadOnly(ELContext context, Object base, Object property)
      Description copied from class: ELResolver
      Determine if the given property on the given object is read-only using the given context.
      Specified by:
      isReadOnly in class ELResolver
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property to be checked for read only status
      Returns:
      true if the identified property is read only, otherwise false
    • setValue

      public void setValue(ELContext context, Object base, Object property, Object value) throws PropertyNotWritableException
      Description copied from class: ELResolver
      Set the value of the given property on the given object using the given context.
      Specified by:
      setValue in class ELResolver
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the property is to be found
      property - The property whose value is to be set
      value - The value to set the property to
      Throws:
      PropertyNotWritableException - If the base/property combination provided to the resolver is one that the resolver can handle but the property was not writable
    • invoke

      public Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, Object[] params)
      Description copied from class: ELResolver
      Invokes a method on the given object.
      Overrides:
      invoke in class ELResolver
      Parameters:
      context - The EL context for this evaluation
      base - The base object on which the method is to be found
      method - The method to invoke
      paramTypes - The types of the parameters of the method to invoke
      params - The parameters with which to invoke the method
      Returns:
      This default implementation always returns null
    • getProperty

      public Object getProperty(String property)
      Get property value
      Parameters:
      property - property name
      Returns:
      value associated with the given property
    • setProperty

      public void setProperty(String property, Object value)
      Set property value
      Parameters:
      property - property name
      value - property value
    • isProperty

      public boolean isProperty(String property)
      Test property
      Parameters:
      property - property name
      Returns:
      true if the given property is associated with a value
    • properties

      public Iterable<String> properties()
      Get properties
      Returns:
      all property names (in no particular order)