Class TDIPropertyStore

  • All Implemented Interfaces:
    java.io.Serializable, java.util.Iterator

    public class TDIPropertyStore
    extends java.lang.Object
    implements java.util.Iterator, java.io.Serializable
    Represents a property store
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static Log logger
      This is the logger object used by this class and other configuration drivers.
      static java.lang.String PROTECT_VAL_PREFIX  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean accepts​(java.lang.String propertyName)
      Returns true if we accept this propertyname.
      boolean canDelete()
      Returns true if the connector supports Delete mode and is not readonly
      boolean canIterate()
      Returns true if the connector supports Iterator mode
      boolean canRead()
      Returns true if the connector supports Lookup mode
      boolean canWrite()
      Returns true if the connector supports Update mode and is not readonly
      void commit()
      Flushes changes to target system
      java.util.Iterator entries()
      Returns an Iterator over all property Entries
      RawConnectorConfig getConnectionConfig()
      Return the config for the underlying Connector.
      java.lang.Exception getException()
      Returns the last Exception thrown by the connector while iterating
      java.lang.String getName()
      Gets the short name of this TDIPropertyStore
      java.lang.Object getProperty​(java.lang.String key)
      Returns the named property
      Entry getPropertyEntry​(java.lang.String key)
      Returns the Entry object for a key.
      boolean hasNext()
      Returns true if the Iterator has more values.
      void initialize​(TDIProperties context)
      Initializes data structures.
      boolean isModified()
      Returns true if the properties have been modified, but not saved yet
      java.util.Iterator keys()
      Returns an Iterator over all property keys
      void log​(java.lang.String msg)
      Logs a message.
      void logerror​(java.lang.String msg, java.lang.Exception err)
      Logs an error message.
      java.lang.Object next()
      Return the next value from an Iterator.
      void reconnect()
      Reinitializes the connector.
      void reload()
      Reloads the information from the connector into a local cache.
      void remove()
      Dummy method to implement Iterator.
      void removeProperty​(java.lang.String key)
      Removes a named property.
      void setModified​(boolean modified)
      Sets the modified flag.
      void setProperty​(Entry entry)
      Sets a named property to the given value.
      void setProperty​(java.lang.String key, java.lang.Object value)
      Sets the named property to the given value
      void setProperty​(java.lang.String key, java.lang.Object value, boolean protect)
      Sets the named property to the given value, with optional protection
      boolean supportsMode​(java.lang.String mode)
      Returns true if the connector supports this mode
      void terminate()
      Terminates the connector
      java.util.Iterator values()
      Returns an Iterator over all property values
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Iterator

        forEachRemaining
    • Field Detail

      • logger

        public static final Log logger
        This is the logger object used by this class and other configuration drivers.
      • PROTECT_VAL_PREFIX

        public static final java.lang.String PROTECT_VAL_PREFIX
        See Also:
        Constant Field Values
    • Constructor Detail

      • TDIPropertyStore

        public TDIPropertyStore()
      • TDIPropertyStore

        public TDIPropertyStore​(PropertyStoreConfig psc)
                         throws java.lang.Exception
        Constructor for the TDIPropertyStore object
        Parameters:
        psc - Configuration of the property store
        Throws:
        java.lang.Exception - if the operation does not succeed
      • TDIPropertyStore

        public TDIPropertyStore​(PropertyStoreConfig psc,
                                TDIProperties context)
                         throws java.lang.Exception
        Constructor for the TDIPropertyStore object
        Parameters:
        psc - The PropertyStoreConfig
        context - The TDIProperties context
        Throws:
        java.lang.Exception
    • Method Detail

      • initialize

        public void initialize​(TDIProperties context)
                        throws java.lang.Exception
        Initializes data structures. Load and initialize the connector, and read data if they should be read initially.
        Parameters:
        context - The TDIProperties context. Not used.
        Throws:
        java.lang.Exception - If any problem occurs during loading or initializing the connector.
      • log

        public void log​(java.lang.String msg)
        Logs a message.
        Parameters:
        msg - The message to log
      • logerror

        public void logerror​(java.lang.String msg,
                             java.lang.Exception err)
        Logs an error message.
        Parameters:
        msg - The message to log
        err - The Exception
      • reload

        public void reload()
        Reloads the information from the connector into a local cache. Calling this will only have an effect if caching is enabled by setting Cache Timeout to a value greater than 0.
      • reconnect

        public void reconnect()
                       throws java.lang.Exception
        Reinitializes the connector. This will also cause all stored information to be saved, if needed.
        Throws:
        java.lang.Exception - If there is any problem with initializing the connector
      • terminate

        public void terminate()
                       throws java.lang.Exception
        Terminates the connector
        Throws:
        java.lang.Exception - If there is a problem with terminating the connector
      • commit

        public void commit()
                    throws java.lang.Exception
        Flushes changes to target system
        Throws:
        java.lang.Exception
      • canIterate

        public boolean canIterate()
        Returns true if the connector supports Iterator mode
        Returns:
        true if the connector supports Iterator mode
      • canWrite

        public boolean canWrite()
        Returns true if the connector supports Update mode and is not readonly
        Returns:
        true if the connector supports Update mode and is not readonly
      • canDelete

        public boolean canDelete()
        Returns true if the connector supports Delete mode and is not readonly
        Returns:
        true if the connector supports Delete mode and is not readonly
      • canRead

        public boolean canRead()
        Returns true if the connector supports Lookup mode
        Returns:
        true if the connector supports Lookup mode
      • accepts

        public boolean accepts​(java.lang.String propertyName)
        Returns true if we accept this propertyname.
        Parameters:
        propertyName - Property name to check
        Returns:
        true if we accept this propertyname
      • getName

        public java.lang.String getName()
        Gets the short name of this TDIPropertyStore
        Returns:
        The name value
      • supportsMode

        public boolean supportsMode​(java.lang.String mode)
        Returns true if the connector supports this mode
        Parameters:
        mode - The mode to check
        Returns:
        true if the connector supports this mode
      • getProperty

        public java.lang.Object getProperty​(java.lang.String key)
                                     throws java.lang.Exception
        Returns the named property
        Parameters:
        key - The property name to find
        Returns:
        The property value or null if not found
        Throws:
        java.lang.Exception - Any Exception thrown by the connector
      • getPropertyEntry

        public Entry getPropertyEntry​(java.lang.String key)
                               throws java.lang.Exception
        Returns the Entry object for a key. The Entry object has at least two Attributes, a "key" Attribute and a "value" Attribute. If the value is protected, there will also be a "protect" Attribute.
        Parameters:
        key - The name of the attribute to find
        Returns:
        The Entry containing the name and value
        Throws:
        java.lang.Exception - Any Exception thrown by the connector
      • setProperty

        public void setProperty​(java.lang.String key,
                                java.lang.Object value)
                         throws java.lang.Exception
        Sets the named property to the given value
        Parameters:
        key - The name of the property
        value - The new property value, null means delete
        Throws:
        java.lang.Exception - If key is missing, or any Exception thrown by the connector
      • setProperty

        public void setProperty​(java.lang.String key,
                                java.lang.Object value,
                                boolean protect)
                         throws java.lang.Exception
        Sets the named property to the given value, with optional protection
        Parameters:
        key - The name of the property
        value - The new property value, null means delete
        protect - True if the value should be protected (encrypted)
        Throws:
        java.lang.Exception - If key is missing, or any Exception thrown by the connector
      • setProperty

        public void setProperty​(Entry entry)
                         throws java.lang.Exception
        Sets a named property to the given value. The Entry object must contains the "key" and "value" attributes and optionally "protect" (boolean)
        Parameters:
        entry - The Entry object containing property name and value
        Throws:
        java.lang.Exception - If key is missing, or any Exception thrown by the connector
      • removeProperty

        public void removeProperty​(java.lang.String key)
                            throws java.lang.Exception
        Removes a named property.
        Parameters:
        key - The name of the property to remove
        Throws:
        java.lang.Exception - If key is missing, or the Property store is readonly, or any Exception thrown by the connector
      • keys

        public java.util.Iterator keys()
        Returns an Iterator over all property keys
        Returns:
        an Iterator over all property keys
      • values

        public java.util.Iterator values()
        Returns an Iterator over all property values
        Returns:
        an Iterator over all property values
      • entries

        public java.util.Iterator entries()
        Returns an Iterator over all property Entries
        Returns:
        an Iterator over all property Entries
      • hasNext

        public boolean hasNext()
        Returns true if the Iterator has more values. Only call this method if you have previously called keys(), values() or entries().
        Specified by:
        hasNext in interface java.util.Iterator
        Returns:
        true if the Iterator has a next
      • next

        public java.lang.Object next()
        Return the next value from an Iterator. Only call this method if you have previously called keys(), values() or entries(), and hasNext() returns true.
        Specified by:
        next in interface java.util.Iterator
        Returns:
        The next value for the Iterator, it will be an Entry if you have called entries().
      • remove

        public void remove()
        Dummy method to implement Iterator. This method does nothing.
        Specified by:
        remove in interface java.util.Iterator
      • getException

        public java.lang.Exception getException()
        Returns the last Exception thrown by the connector while iterating
        Returns:
        the last Exception thrown by the connector while iterating
      • isModified

        public boolean isModified()
        Returns true if the properties have been modified, but not saved yet
        Returns:
        true if the properties have been modified, but not saved yet
      • setModified

        public void setModified​(boolean modified)
        Sets the modified flag. This can be useful if you want to force a save, or avoid a save
      • getConnectionConfig

        public RawConnectorConfig getConnectionConfig()
        Return the config for the underlying Connector. For internal use.
        Returns: