| Interface | Description | 
|---|---|
| Dirtyable | Objects that implement the  Dirtyableinterface indicate
  that they are able to track their own dirty state. | 
| HashStructure.Filter | |
| PropertyStorage | The PropertyStorage interface defines a single generic entry point
  for accessing properties stored in HashStructure format, such as
  Project Properties and IDE Preferences. | 
| Class | Description | 
|---|---|
| Cache<T> | The  Cacheclass is a simple collection that maintains a list of
 references to cached items, but does so weakly or softly, so that those
 references may be released by the garbage collector depending on memory usage
 and availability. | 
| Cache.Factory | A  Cacheinstance may not be constructed directly. | 
| ChangeBuffer | This class is a specialized  StructureChangeListenerwhose
  purpose is to buffer and accumulateChangeInfoobjects
  representing changes that have occurred to aStructure. | 
| ChangeInfo | An instance of this class identifies a single change that has been
  applied to a  HashStructureorListStructure. | 
| HashStructure | This class implements a hash data structure intended to be used as
  the generic storage for project metadata that can be marshalled to
  and from a persistent form without depending on custom marshalling
  code. | 
| HashStructure.HashStructureFilteredImpl | |
| HashStructureAdapter | This class serves as a base implementation of an adapter pattern
  to bridge JavaBeans-style getter and setter methods with
   HashStructurestorage. | 
| ListStructure | This class implements a list data structure that complements
   HashStructure. | 
| Structure | Base class for  HashStructureandListStructure. | 
| StructureChangeEvent | The event object describing a change in a  HashStructureorListStructure. | 
| StructureChangeListener | Callback interface for receiving notification that property values
  have changed in a  HashStructureorListStructure. |