Class ExecutionContext

  • All Implemented Interfaces:
    java.io.Serializable

    public class ExecutionContext
    extends java.lang.Object
    implements java.io.Serializable
    Object representing a context for an ItemStream. It is a thin wrapper for a map that allows optionally for type safety on reads. It also allows for dirty checking by setting a 'dirty' flag whenever any put is called. Note that putting null value is equivalent to removing the entry for the given key.
    Author:
    Lucas Ward, Douglas Kaminsky, Mahmoud Ben Hassine
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethodDescription
      voidclearDirtyFlag()
      Clears the dirty flag.
      booleancontainsKey​(java.lang.String key)
      Indicates whether or not a key is represented in this context.
      booleancontainsValue​(java.lang.Object value)
      Indicates whether or not a value is represented in this context.
      java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.Object>>entrySet()
      Returns the entry set containing the contents of this context.
      booleanequals​(java.lang.Object obj) 
      java.lang.Objectget​(java.lang.String key)
      Getter for the value represented by the provided key.
      doublegetDouble​(java.lang.String key)
      Typesafe Getter for the Double represented by the provided key.
      doublegetDouble​(java.lang.String key, double defaultDouble)
      Typesafe Getter for the Double represented by the provided key with default value to return if key is not represented.
      intgetInt​(java.lang.String key)
      Typesafe Getter for the Integer represented by the provided key.
      intgetInt​(java.lang.String key, int defaultInt)
      Typesafe Getter for the Integer represented by the provided key with default value to return if key is not represented.
      longgetLong​(java.lang.String key)
      Typesafe Getter for the Long represented by the provided key.
      longgetLong​(java.lang.String key, long defaultLong)
      Typesafe Getter for the Long represented by the provided key with default value to return if key is not represented.
      java.lang.StringgetString​(java.lang.String key)
      Typesafe Getter for the String represented by the provided key.
      java.lang.StringgetString​(java.lang.String key, java.lang.String defaultString)
      Typesafe Getter for the String represented by the provided key with default value to return if key is not represented.
      inthashCode() 
      booleanisDirty()
      Indicates if context has been changed with a "put" operation since the dirty flag was last cleared.
      booleanisEmpty()
      Indicates whether or not the context is empty.
      voidput​(java.lang.String key, java.lang.Object value)
      Add an Object value to the context.
      voidputDouble​(java.lang.String key, double value)
      Add a Double value to the context.
      voidputInt​(java.lang.String key, int value)
      Adds an Integer value to the context.
      voidputLong​(java.lang.String key, long value)
      Adds a Long value to the context.
      voidputString​(java.lang.String key, java.lang.String value)
      Adds a String value to the context.
      java.lang.Objectremove​(java.lang.String key)
      Removes the mapping for a key from this context if it is present.
      intsize()
      Returns number of entries in the context
      java.lang.StringtoString() 
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ExecutionContext

        public ExecutionContext()
        Default constructor. Initializes a new execution context with an empty internal map.
      • ExecutionContext

        public ExecutionContext​(java.util.Map<java.lang.String,​java.lang.Object> map)
        Initializes a new execution context with the contents of another map.
        Parameters:
        map - Initial contents of context.
      • ExecutionContext

        public ExecutionContext​(ExecutionContext executionContext)
        Initializes a new ExecutionContext with the contents of another ExecutionContext.
        Parameters:
        executionContext - containing the entries to be copied to this current context.
    • Method Detail

      • putString

        public void putString​(java.lang.String key,
                              @Nullable
                              java.lang.String value)
        Adds a String value to the context. Putting null value for a given key removes the key.
        Parameters:
        key - Key to add to context
        value - Value to associate with key
      • putLong

        public void putLong​(java.lang.String key,
                            long value)
        Adds a Long value to the context.
        Parameters:
        key - Key to add to context
        value - Value to associate with key
      • putInt

        public void putInt​(java.lang.String key,
                           int value)
        Adds an Integer value to the context.
        Parameters:
        key - Key to add to context
        value - Value to associate with key
      • putDouble

        public void putDouble​(java.lang.String key,
                              double value)
        Add a Double value to the context.
        Parameters:
        key - Key to add to context
        value - Value to associate with key
      • put

        public void put​(java.lang.String key,
                        @Nullable
                        java.lang.Object value)
        Add an Object value to the context. Putting null value for a given key removes the key.
        Parameters:
        key - Key to add to context
        value - Value to associate with key
      • isDirty

        public boolean isDirty()
        Indicates if context has been changed with a "put" operation since the dirty flag was last cleared. Note that the last time the flag was cleared might correspond to creation of the context.
        Returns:
        True if "put" operation has occurred since flag was last cleared
      • getString

        public java.lang.String getString​(java.lang.String key)
        Typesafe Getter for the String represented by the provided key.
        Parameters:
        key - The key to get a value for
        Returns:
        The String value
      • getString

        public java.lang.String getString​(java.lang.String key,
                                          java.lang.String defaultString)
        Typesafe Getter for the String represented by the provided key with default value to return if key is not represented.
        Parameters:
        key - The key to get a value for
        defaultString - Default to return if key is not represented
        Returns:
        The String value if key is represented, specified default otherwise
      • getLong

        public long getLong​(java.lang.String key)
        Typesafe Getter for the Long represented by the provided key.
        Parameters:
        key - The key to get a value for
        Returns:
        The Long value
      • getLong

        public long getLong​(java.lang.String key,
                            long defaultLong)
        Typesafe Getter for the Long represented by the provided key with default value to return if key is not represented.
        Parameters:
        key - The key to get a value for
        defaultLong - Default to return if key is not represented
        Returns:
        The long value if key is represented, specified default otherwise
      • getInt

        public int getInt​(java.lang.String key)
        Typesafe Getter for the Integer represented by the provided key.
        Parameters:
        key - The key to get a value for
        Returns:
        The Integer value
      • getInt

        public int getInt​(java.lang.String key,
                          int defaultInt)
        Typesafe Getter for the Integer represented by the provided key with default value to return if key is not represented.
        Parameters:
        key - The key to get a value for
        defaultInt - Default to return if key is not represented
        Returns:
        The int value if key is represented, specified default otherwise
      • getDouble

        public double getDouble​(java.lang.String key)
        Typesafe Getter for the Double represented by the provided key.
        Parameters:
        key - The key to get a value for
        Returns:
        The Double value
      • getDouble

        public double getDouble​(java.lang.String key,
                                double defaultDouble)
        Typesafe Getter for the Double represented by the provided key with default value to return if key is not represented.
        Parameters:
        key - The key to get a value for
        defaultDouble - Default to return if key is not represented
        Returns:
        The double value if key is represented, specified default otherwise
      • get

        @Nullable
        public java.lang.Object get​(java.lang.String key)
        Getter for the value represented by the provided key.
        Parameters:
        key - The key to get a value for
        Returns:
        The value represented by the given key or null if the key is not present
      • isEmpty

        public boolean isEmpty()
        Indicates whether or not the context is empty.
        Returns:
        True if the context has no entries, false otherwise.
        See Also:
        Map.isEmpty()
      • clearDirtyFlag

        public void clearDirtyFlag()
        Clears the dirty flag.
      • entrySet

        public java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.Object>> entrySet()
        Returns the entry set containing the contents of this context.
        Returns:
        A set representing the contents of the context
        See Also:
        Map.entrySet()
      • containsKey

        public boolean containsKey​(java.lang.String key)
        Indicates whether or not a key is represented in this context.
        Parameters:
        key - Key to check existence for
        Returns:
        True if key is represented in context, false otherwise
        See Also:
        Map.containsKey(Object)
      • remove

        @Nullable
        public java.lang.Object remove​(java.lang.String key)
        Removes the mapping for a key from this context if it is present.
        Parameters:
        key - String that identifies the entry to be removed from the context.
        Returns:
        the value that was removed from the context.
        See Also:
        Map.remove(Object)
      • containsValue

        public boolean containsValue​(java.lang.Object value)
        Indicates whether or not a value is represented in this context.
        Parameters:
        value - Value to check existence for
        Returns:
        True if value is represented in context, false otherwise
        See Also:
        Map.containsValue(Object)
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • size

        public int size()
        Returns number of entries in the context
        Returns:
        Number of entries in the context
        See Also:
        Map.size()