# Package org.apache.cayenne.util

General utility classes.

- Interface Summary
  Interface | Description
  --- | ---
  CayenneMapEntry | Defining a double-linked named entry in CayenneMap.
  EntityMergeListener | EntityMergeListener interface defines API useful for listening to EntityMergeSupport processing.
  PersistentObjectCollection<E> | Simple interface to unify PersistentObject* collections in way of setting properties directly
  XMLSerializable | Interface for Cayenne objects that can be saved to XML.

- Class Summary
  Class | Description
  --- | ---
  ArrayUtil |
  CompareToBuilder | Assists in implementing `Comparable.compareTo(Object)` methods.
  ConversionUtil | A collection of static conversion utility methods.
  DeepMergeOperation | An operation that merges changes from an object graph, whose objects are registered in some ObjectContext, to peer objects in an ObjectConext that is a child of that context.
  DeleteRuleUpdater | DeleteRuleUpdater is responsible for auto-setting delete rules for object relationships
  EqualsBuilder | Assists in implementing `Object.equals(Object)` methods.
  EventUtil | Contains access stack events related utility methods.
  GenericQueryResult<T> | Generic implementation of QueryResult using List as QueryResultItem storage.
  GenericResponse | A simple serializable implementation of QueryResponse.
  HashCodeBuilder | Assists in implementing `Object.hashCode()` methods.
  IDUtil | helper class to generate pseudo-GUID sequences.
  IncrementalListResponse | A QueryResponse that contains a sublist of the query result.
  IndexPropertyList | A List implementation that would maintain its internal ordering based on some object numeric "index" property.
  Invocation | Invocation represents a dynamic method invocation bound to a specific target.
  ListResponse | A QueryResponse optimized to hold a single object or data row list.
  LocalizedStringsHandler | Provides access to various modeler resources (mainly strings) obtained via a ResourceBundle.
  MemoryBlob | A Blob implementation that stores content in memory.
  MemoryClob | A Clob implementation that stores contents in memory.
  ObjectContextGraphAction | A base implementation of a helper class to handle `ObjectContext.propertyChanged(org.apache.cayenne.Persistent, String, Object, Object)` processing on behalf of an ObjectContext.
  ObjectContextQueryAction | A helper class that implements `DataChannel.onQuery(ObjectContext, Query)` logic on behalf of an ObjectContext.
  ObjectDetachOperation | An operation that creates a subgraph of detached objects, using the PrefetchTree to delineate the graph boundaries.
  PersistentObjectHolder<E> | A ValueHolder implementation that holds a single Persistent object related to an object used to initialize PersistentObjectHolder.
  PersistentObjectList<E> | A list of persistent objects lazily resolved on the first access.
  PersistentObjectMap |
  PersistentObjectSet<E> |
  ProcedureResultBuilder<T> |
  QueryResultBuilder |
  RelationshipFault<E> | An abstract superclass of lazily faulted to-one and to-many relationships.
  ResultIteratorIterator<T> |
  ShallowMergeOperation | An operation that merges changes from a single object registered in some ObjectContext, to a peer object in an ObjectConext that is a child of that context.
  SingleEntryMap<K,​V> | Optimized mutable single-entry map.
  SoftValueMap<K,​V> | Map that stores values wrapped into `SoftReference`
  ToStringBuilder | A utility class to simplify implementation of Object toString methods.
  Util | Contains various unorganized static utility methods used across Cayenne.
  WeakValueMap<K,​V> | Map that stores values wrapped into `WeakReference`
  XMLEncoder | A helper class to encode objects to XML.