Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.map
Class DbEntity

    java.lang.Object
      org.apache.cayenne.map.Entity
          org.apache.cayenne.map.DbEntity

All Implemented Interfaces:
  Serializable, EventListener, DbAttributeListener, DbEntityListener, DbRelationshipListener, CayenneMapEntry, XMLSerializable

    public class DbEntity

extends Entity
implements DbEntityListener, DbAttributeListener, DbRelationshipListener

A DbEntity is a mapping descriptor that defines a structure of a database table.

Author:
  Misha Shengaout, Andrus Adamchik
See Also:
  Serialized Form

Field Summary
`protected String` | `catalog`
`protected Collection<DbAttribute>` | `generatedAttributes`
`protected Collection<DbAttribute>` | `primaryKey`
`protected DbKeyGenerator` | `primaryKeyGenerator`
`protected String` | `schema`

Fields inherited from class org.apache.cayenne.map.Entity
`attributes, dataMap, name, OUTER_JOIN_INDICATOR, PATH_SEPARATOR, relationships`

Constructor Summary
`DbEntity()` Creates an unnamed DbEntity.
`DbEntity(String name)` Creates a named DbEntity.

Method Summary
`void` | `addAttribute(Attribute attr)` Deprecated. in favour of `addAttribute(DbAttribute attr)`. Scheduled for removal in Cayenne 4.
`void` | `addAttribute(DbAttribute attr)` Adds a new attribute to this entity.
`void` | `clearAttributes()`
`void` | `dbAttributeAdded(AttributeEvent e)` New attribute has been created/added.
`void` | `dbAttributeChanged(AttributeEvent e)` Attribute property changed.
`void` | `dbAttributeRemoved(AttributeEvent e)` Attribute has been removed.
`void` | `dbEntityAdded(EntityEvent e)` New entity has been created/added.
`void` | `dbEntityChanged(EntityEvent e)` DbEntity property changed event.
`void` | `dbEntityRemoved(EntityEvent e)` Entity has been removed.
`void` | `dbRelationshipAdded(RelationshipEvent e)` Relationship has been created/added.
`void` | `dbRelationshipChanged(RelationshipEvent e)` Relationship property changed.
`void` | `dbRelationshipRemoved(RelationshipEvent e)` Relationship has been removed.
`void` | `encodeAsXML(XMLEncoder encoder)` Prints itself as XML to the provided XMLEncoder.
`Collection<DbAttribute>` | `getAttributes()` Returns a Collection of all attributes that either belong to this DbEntity or inherited.
`String` | `getCatalog()` Returns the catalog name of the table described by this DbEntity.
`String` | `getFullyQualifiedName()` Returns table name including schema, if present.
`Collection<DbAttribute>` | `getGeneratedAttributes()` Returns an unmodifiable collection of DbAttributes that are generated by the database.
`List<DbAttribute>` | `getPrimaryKey()` Deprecated. since 3.0 use `getPrimaryKeys()` that returns a collection.
`DbKeyGenerator` | `getPrimaryKeyGenerator()` Return the primary key generator for this entity.
`Collection<DbAttribute>` | `getPrimaryKeys()` Returns an unmodifiable collection of DbAttributes representing the primary key of the table described by this DbEntity.
`SortedMap<String,DbRelationship>` | `getRelationshipMap()` Returns an unmodifiable map of relationships sorted by name.
`Collection<DbRelationship>` | `getRelationships()` Returns a Collection of relationships from this entity or inherited.
`String` | `getSchema()` Returns database schema of this table.
`boolean` | `isFullReplacementIdAttached(ObjectId id)` Returns true if there is full replacement id is attached to an ObjectId.
`PathComponent<DbAttribute,DbRelationship>` | `lastPathComponent(Expression path, Map aliasMap)` Convenience method returning the last component in the path iterator.
`void` | `removeAttribute(String attrName)` Removes attribute from the entity, removes any relationship joins containing this attribute.
`Iterable<PathComponent<DbAttribute,DbRelationship>>` | `resolvePath(Expression pathExp, Map aliasMap)` Returns an Iterable instance over expression path components based on this entity.
`Iterator<CayenneMapEntry>` | `resolvePathComponents(Expression pathExp)` Processes expression `pathExp` and returns an Iterator of path components that contains a sequence of Attributes and Relationships.
`void` | `setCatalog(String catalog)` Sets the catalog name of the table described by this DbEntity.
`void` | `setPrimaryKeyGenerator(DbKeyGenerator primaryKeyGenerator)` Set the primary key generator for this entity.
`void` | `setSchema(String schema)` Sets the database schema name of the table described by this DbEntity.
`Expression` | `translateToRelatedEntity(Expression expression, String relationshipPath)` Transforms Expression rooted in this entity to an analogous expression rooted in related entity.

Methods inherited from class org.apache.cayenne.map.Entity
`addRelationship, clearRelationships, getAnyRelationship, getAttribute, getAttributeMap, getDataMap, getName, getParent, getRelationship, lastPathComponent, removeRelationship, resolvePathComponents, setDataMap, setName, setParent, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### catalog

    protected String catalog

### schema

    protected String schema

### primaryKey

    protected Collection<DbAttribute> primaryKey

### generatedAttributes

    protected Collection<DbAttribute> generatedAttributes

Since:
  1.2

### primaryKeyGenerator

    protected DbKeyGenerator primaryKeyGenerator

Constructor Detail

### DbEntity

    public DbEntity()

  Creates an unnamed DbEntity.

### DbEntity

    public DbEntity(String name)

  Creates a named DbEntity.

Method Detail

### encodeAsXML

    public void encodeAsXML(XMLEncoder encoder)

  Prints itself as XML to the provided XMLEncoder.

  Specified by:
    `encodeAsXML` in interface `XMLSerializable`
  Since:
    1.1

### getFullyQualifiedName

    public String getFullyQualifiedName()

  Returns table name including schema, if present.

### getSchema

    public String getSchema()

  Returns database schema of this table.

  Returns:
    table's schema, null if not set.

### setSchema

    public void setSchema(String schema)

  Sets the database schema name of the table described by this DbEntity.

### getCatalog

    public String getCatalog()

  Returns the catalog name of the table described by this DbEntity.

### setCatalog

    public void setCatalog(String catalog)

  Sets the catalog name of the table described by this DbEntity.

### getPrimaryKeys

    public Collection<DbAttribute> getPrimaryKeys()

  Returns an unmodifiable collection of DbAttributes representing the primary key of the table described by this DbEntity.

  Since:
    3.0

### getPrimaryKey

    public List<DbAttribute> getPrimaryKey()

  Deprecated. since 3.0 use `getPrimaryKeys()` that returns a collection.

### getAttributes

    public Collection<DbAttribute> getAttributes()

  Returns a Collection of all attributes that either belong to this DbEntity or inherited.

  Overrides:
    `getAttributes` in class `Entity`

### getGeneratedAttributes

    public Collection<DbAttribute> getGeneratedAttributes()

  Returns an unmodifiable collection of DbAttributes that are generated by the database.

  Since:
    1.2

### addAttribute

    public void addAttribute(DbAttribute attr)

  Adds a new attribute to this entity.

  Throws:
    `IllegalArgumentException` - if Attribute has no name or there is an existing attribute with the same name
    `IllegalArgumentException` - if a relationship has the same name as this attribute
  Since:
    3.0

### addAttribute

    @Deprecated
    public void addAttribute(Attribute attr)

  Deprecated. in favour of `addAttribute(DbAttribute attr)`. Scheduled for removal in Cayenne 4.

  Overrides super to fire an AttributeEvent.

  Overrides:
    `addAttribute` in class `Entity`

### removeAttribute

    public void removeAttribute(String attrName)

  Removes attribute from the entity, removes any relationship joins containing this attribute. Does nothing if the attribute name is not found.

  Overrides:
    `removeAttribute` in class `Entity`
  See Also:
    `Entity.removeAttribute(String)`

### clearAttributes

    public void clearAttributes()

  Overrides:
    `clearAttributes` in class `Entity`

### getRelationships

    public Collection<DbRelationship> getRelationships()

  Returns a Collection of relationships from this entity or inherited.

  Overrides:
    `getRelationships` in class `Entity`

### getRelationshipMap

    public SortedMap<String,DbRelationship> getRelationshipMap()

  Description copied from class: `Entity`
  Returns an unmodifiable map of relationships sorted by name.

  Overrides:
    `getRelationshipMap` in class `Entity`

### lastPathComponent

    public PathComponent<DbAttribute,DbRelationship> lastPathComponent(Expression path,
                                                                       Map aliasMap)

  Description copied from class: `Entity`
  Convenience method returning the last component in the path iterator. If the last component is an alias, it is fully resolved down to the last ObjRelationship.

  Overrides:
    `lastPathComponent` in class `Entity`
  Since:
    3.0

### resolvePath

    public Iterable<PathComponent<DbAttribute,DbRelationship>> resolvePath(Expression pathExp,
                                                                           Map aliasMap)

  Returns an Iterable instance over expression path components based on this entity.

  Specified by:
    `resolvePath` in class `Entity`
  Since:
    3.0

### resolvePathComponents

    public Iterator<CayenneMapEntry> resolvePathComponents(Expression pathExp)
                                                    throws ExpressionException

  Description copied from class: `Entity`
  Processes expression `pathExp` and returns an Iterator of path components that contains a sequence of Attributes and Relationships. Note that if path is invalid and can not be resolved from this entity, this method will still return an Iterator, but an attempt to read the first invalid path component will result in ExpressionException.

  Specified by:
    `resolvePathComponents` in class `Entity`
  Throws:
    `ExpressionException`

### setPrimaryKeyGenerator

    public void setPrimaryKeyGenerator(DbKeyGenerator primaryKeyGenerator)

  Set the primary key generator for this entity. If null is passed, nothing is changed.

### getPrimaryKeyGenerator

    public DbKeyGenerator getPrimaryKeyGenerator()

  Return the primary key generator for this entity.

### dbEntityChanged

    public void dbEntityChanged(EntityEvent e)

  DbEntity property changed event. May be name, attribute or relationship added or removed, etc. Attribute and relationship property changes are handled in respective listeners.

  Specified by:
    `dbEntityChanged` in interface `DbEntityListener`
  Since:
    1.2

### dbEntityAdded

    public void dbEntityAdded(EntityEvent e)

  New entity has been created/added.

  Specified by:
    `dbEntityAdded` in interface `DbEntityListener`

### dbEntityRemoved

    public void dbEntityRemoved(EntityEvent e)

  Entity has been removed.

  Specified by:
    `dbEntityRemoved` in interface `DbEntityListener`

### dbAttributeAdded

    public void dbAttributeAdded(AttributeEvent e)

  Description copied from interface: `DbAttributeListener`
  New attribute has been created/added.

  Specified by:
    `dbAttributeAdded` in interface `DbAttributeListener`

### dbAttributeChanged

    public void dbAttributeChanged(AttributeEvent e)

  Description copied from interface: `DbAttributeListener`
  Attribute property changed.

  Specified by:
    `dbAttributeChanged` in interface `DbAttributeListener`

### dbAttributeRemoved

    public void dbAttributeRemoved(AttributeEvent e)

  Description copied from interface: `DbAttributeListener`
  Attribute has been removed.

  Specified by:
    `dbAttributeRemoved` in interface `DbAttributeListener`

### dbRelationshipChanged

    public void dbRelationshipChanged(RelationshipEvent e)

  Relationship property changed.

  Specified by:
    `dbRelationshipChanged` in interface `DbRelationshipListener`

### dbRelationshipAdded

    public void dbRelationshipAdded(RelationshipEvent e)

  Relationship has been created/added.

  Specified by:
    `dbRelationshipAdded` in interface `DbRelationshipListener`

### dbRelationshipRemoved

    public void dbRelationshipRemoved(RelationshipEvent e)

  Relationship has been removed.

  Specified by:
    `dbRelationshipRemoved` in interface `DbRelationshipListener`

### isFullReplacementIdAttached

    public boolean isFullReplacementIdAttached(ObjectId id)

  Returns true if there is full replacement id is attached to an ObjectId. "Full" means that all PK columns are present and only PK columns are present.

  Since:
    1.2

### translateToRelatedEntity

    public Expression translateToRelatedEntity(Expression expression,
                                               String relationshipPath)

  Transforms Expression rooted in this entity to an analogous expression rooted in related entity.

  Specified by:
    `translateToRelatedEntity` in class `Entity`
  Since:
    1.1

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2008 Apache Cayenne. All Rights Reserved.