## Uses of Interface
org.apache.cayenne.util.XMLSerializable

- Packages that use XMLSerializable
  Package | Description
  --- | ---
  org.apache.cayenne.configuration |
  org.apache.cayenne.conn |
  org.apache.cayenne.exp | Cayenne data expression classes.
  org.apache.cayenne.exp.parser | Contains expression parser and other expression internals.
  org.apache.cayenne.map | Contains O/R mapping classes that store relational database metadata information and map it to Java classes.
  org.apache.cayenne.query | Defines standard queries supported by Cayenne and extension mechanism to create custom queries.
  org.apache.cayenne.util | General utility classes.

- - ### Uses of XMLSerializable in org.apache.cayenne.configuration

    Classes in org.apache.cayenne.configuration that implement XMLSerializable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DataChannelDescriptor` | A descriptor of a DataChannel normally loaded from XML configuration.
    `class` | `DataNodeDescriptor` | A descriptor of `DataNode` configuration.

  - ### Uses of XMLSerializable in org.apache.cayenne.conn

    Classes in org.apache.cayenne.conn that implement XMLSerializable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DataSourceInfo` | Helper JavaBean class that holds DataSource login information.

  - ### Uses of XMLSerializable in org.apache.cayenne.exp

    Classes in org.apache.cayenne.exp that implement XMLSerializable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `Expression` | Superclass of Cayenne expressions that defines basic API for expressions use.

  - ### Uses of XMLSerializable in org.apache.cayenne.exp.parser

    Classes in org.apache.cayenne.exp.parser that implement XMLSerializable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AggregateConditionNode` | Superclass of aggregated conditional nodes such as NOT, AND, OR.
    `class` | `ASTAbs` |
    `class` | `ASTAdd` | "Add" Expression.
    `class` | `ASTAggregateFunctionCall` | Base class for all aggregation functions expressions It's more like marker interface for now.
    `class` | `ASTAnd` | "And" expression.
    `class` | `ASTAsterisk` | Asterisk operator for COUNT(*) expression.
    `class` | `ASTAvg` |
    `class` | `ASTBetween` | "Between" expression.
    `class` | `ASTBitwiseAnd` | Bitwise conjunction (AND or '&') expression
    `class` | `ASTBitwiseLeftShift` | Bitwise left shift '<<' operation.
    `class` | `ASTBitwiseNot` | Bitwise negation (NOT i.e.
    `class` | `ASTBitwiseOr` | Bitwise disjunction (OR or '|') expression.
    `class` | `ASTBitwiseRightShift` | Bitwise right shift '>>' operation.
    `class` | `ASTBitwiseXor` | Bitwise exclusive disjunction (XOR or '^') operation.
    `class` | `ASTConcat` |
    `class` | `ASTCount` |
    `class` | `ASTCurrentDate` |
    `class` | `ASTCurrentTime` |
    `class` | `ASTCurrentTimestamp` |
    `class` | `ASTDbPath` | Path expression traversing DB relationships and attributes.
    `class` | `ASTDistinct` |
    `class` | `ASTDivide` | "Divide" expression.
    `class` | `ASTEnum` | Scalar node that represents constant enumeration value.
    `class` | `ASTEqual` | "Equal To" expression.
    `class` | `ASTExtract` |
    `class` | `ASTFalse` | Boolean false expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.
    `class` | `ASTFullObject` |
    `class` | `ASTFunctionCall` |
    `class` | `ASTGreater` | "Greater Than" expression.
    `class` | `ASTGreaterOrEqual` | "Greater Than Or Equal To" expression.
    `class` | `ASTIn` | "In" expression.
    `class` | `ASTLength` |
    `class` | `ASTLess` | "Less Then" expression.
    `class` | `ASTLessOrEqual` | "Less than or equal to" expression.
    `class` | `ASTLike` | "Like" expression.
    `class` | `ASTLikeIgnoreCase` | "Case insensitive like" expression.
    `class` | `ASTList` | A leaf expression representing an immutable collection of values.
    `class` | `ASTLocate` |
    `class` | `ASTLower` |
    `class` | `ASTMax` |
    `class` | `ASTMin` |
    `class` | `ASTMod` |
    `class` | `ASTMultiply` | "Multiply" expression.
    `class` | `ASTNamedParameter` | A named expression parameter.
    `class` | `ASTNegate` | "Negate" expression.
    `class` | `ASTNot` | "Not" expression.
    `class` | `ASTNotBetween` | "Not Between" expression.
    `class` | `ASTNotEqual` | "Not equal to" expression.
    `class` | `ASTNotIn` | "Not In" expression.
    `class` | `ASTNotLike` | "Not Like" expression.
    `class` | `ASTNotLikeIgnoreCase` | "Not like, ignore case" expression.
    `class` | `ASTObjPath` |
    `class` | `ASTOr` | "Or" expression.
    `class` | `ASTPath` | Generic path expression.
    `class` | `ASTScalar` | A scalar value wrapper expression.
    `class` | `ASTSqrt` |
    `class` | `ASTSubstring` |
    `class` | `ASTSubtract` | "Subtract" expression.
    `class` | `ASTSum` |
    `class` | `ASTTrim` |
    `class` | `ASTTrue` | Boolean true expression element Notice that there is one ASTTrue and one ASTFalse instead of a ASTBoolean with a Boolean value.
    `class` | `ASTUpper` |
    `class` | `ConditionNode` | Superclass of conditional expressions.
    `class` | `EvaluatedBitwiseNode` |
    `class` | `EvaluatedMathNode` |
    `class` | `EvaluatedNode` |
    `class` | `PatternMatchNode` | Superclass of pattern matching nodes.
    `class` | `SimpleNode` | Superclass of AST* expressions that implements Node interface defined by JavaCC framework.

  - ### Uses of XMLSerializable in org.apache.cayenne.map

    Classes in org.apache.cayenne.map that implement XMLSerializable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `Attribute` | Defines a property descriptor that is a part of an Entity.
    `class` | `DataMap` | Stores a collection of related mapping objects that describe database and object layers of an application.
    `class` | `DbAttribute` | A DbAttribute defines a descriptor for a single database table column.
    `class` | `DbEntity` | A DbEntity is a mapping descriptor that defines a structure of a database table.
    `class` | `DbJoin` | Defines a join between two attributes of a given relationship.
    `class` | `DbKeyGenerator` | DbKeyGenerator is an abstraction of a primary key generator It configures the primary key generation per DbEntity in a RDBMS independent manner.
    `class` | `DbRelationship` | A DbRelationship is a descriptor of a database inter-table relationship based on one or more primary key/foreign key pairs.
    `class` | `DetectedDbEntity` | A `DbEntity` subclass used to hold extra JDBC metadata.
    `class` | `EJBQLQueryDescriptor` |
    `class` | `Embeddable` | A mapping descriptor of an embeddable class.
    `class` | `EmbeddableAttribute` | A persistent attribute of an embeddable object.
    `class` | `EmbeddedAttribute` | An attribute of the ObjEntity that maps to an embeddable class.
    `class` | `Entity` | An Entity is an abstract descriptor for an entity mapping concept.
    `class` | `ObjAttribute` | An ObjAttribute is a mapping descriptor of a Java class property.
    `class` | `ObjEntity` | ObjEntity is a mapping descriptor for a DataObject Java class.
    `class` | `ObjRelationship` | Describes an association between two Java classes mapped as source and target ObjEntity.
    `class` | `Procedure` | A mapping descriptor for a database stored procedure.
    `class` | `ProcedureParameter` | A descriptor for the Procedure parameter.
    `class` | `ProcedureQueryDescriptor` |
    `class` | `QueryDescriptor` | Generic descriptor of a Cayenne query.
    `class` | `Relationship` | Defines a relationship between two entities.
    `class` | `SelectQueryDescriptor` |
    `class` | `SQLTemplateDescriptor` |

  - ### Uses of XMLSerializable in org.apache.cayenne.query

    Classes in org.apache.cayenne.query that implement XMLSerializable
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `Ordering` | Defines object sorting criteria, used either for in-memory sorting of object lists or as a specification for building ORDER BY clause of a SelectQuery query.
    `class` | `PrefetchTreeNode` | Defines a node in a prefetch tree.

  - ### Uses of XMLSerializable in org.apache.cayenne.util

    Methods in org.apache.cayenne.util with parameters of type XMLSerializable
    Modifier and Type | Method | Description
    --- | --- | ---
    `XMLEncoder` | XMLEncoder.`nested​(XMLSerializable object, ConfigurationNodeVisitor delegate)` |

    Method parameters in org.apache.cayenne.util with type arguments of type XMLSerializable
    Modifier and Type | Method | Description
    --- | --- | ---
    `XMLEncoder` | XMLEncoder.`nested​(Collection<? extends XMLSerializable> collection, ConfigurationNodeVisitor delegate)` |
    `XMLEncoder` | XMLEncoder.`nested​(Map<?,​? extends XMLSerializable> map, ConfigurationNodeVisitor delegate)` |