Class ReadState

java.lang.Object
org.simpleframework.xml.util.WeakCache<ReadGraph>
org.simpleframework.xml.strategy.ReadState
All Implemented Interfaces:
Cache<ReadGraph>

class ReadState extends WeakCache<ReadGraph>
The ReadState object is used to store all graphs that are currently been read with a given cycle strategy. The goal of this object is to act as a temporary store for graphs such that when the persistence session has completed the read graph will be garbage collected. This ensures that there are no lingering object reference that could cause a memory leak. If a graph for the given session key does not exist then a new one is created.
See Also:
  • Field Details

    • contract

      private final Contract contract
      This is the contract that specifies the attributes to use.
    • loader

      private final Loader loader
      This is the loader used to load the classes for this.
  • Constructor Details

    • ReadState

      public ReadState(Contract contract)
      Constructor for the ReadState object. This is used to create graphs that are used for reading objects from the XML document. The specified strategy is used to acquire the names of the special attributes used during the serialization.
      Parameters:
      contract - this is name scheme used by the cycle strategy
  • Method Details

    • find

      public ReadGraph find(Object map) throws Exception
      This will acquire the graph using the specified session map. If a graph does not already exist mapped to the given session then one will be created and stored with the key provided. Once the specified key is garbage collected then so is the graph object.
      Parameters:
      map - this is typically the persistence session map used
      Returns:
      returns a graph used for reading the XML document
      Throws:
      Exception
    • create

      private ReadGraph create(Object map) throws Exception
      This will acquire the graph using the specified session map. If a graph does not already exist mapped to the given session then one will be created and stored with the key provided. Once the specified key is garbage collected then so is the graph object.
      Parameters:
      map - this is typically the persistence session map used
      Returns:
      returns a graph used for reading the XML document
      Throws:
      Exception