Class Entity

    • Constructor Detail

      • Entity

        public Entity()
        Creates an unnamed Entity.
      • Entity

        public Entity​(String name)
        Creates a named Entity.
    • Method Detail

      • getName

        public String getName()
        Returns entity name. Name is a unique identifier of the entity within its DataMap.
        Specified by:
        getName in interface CayenneMapEntry
        Returns:
        name of this entry.
      • setName

        public void setName​(String name)
      • getDataMap

        public DataMap getDataMap()
        Returns:
        parent DataMap of this entity.
      • setDataMap

        public void setDataMap​(DataMap dataMap)
        Sets parent DataMap of this entity.
      • getAttribute

        public Attribute getAttribute​(String attributeName)
        Returns attribute with name attributeName or null if no attribute with this name exists.
      • addAttribute

        public void addAttribute​(Attribute attribute)
        Adds new attribute to the entity, setting its parent entity to be this object. If attribute has no name, IllegalArgumentException is thrown.
      • removeAttribute

        public void removeAttribute​(String attrName)
        Removes an attribute named attrName.
      • updateAttribute

        public void updateAttribute​(Attribute attribute)
        Since:
        4.0
      • clearAttributes

        public void clearAttributes()
      • getRelationship

        public Relationship getRelationship​(String relName)
        Returns relationship with name relName. Will return null if no relationship with this name exists in the entity.
      • addRelationship

        public void addRelationship​(Relationship relationship)
        Adds new relationship to the entity.
      • removeRelationship

        public void removeRelationship​(String relName)
        Removes a relationship named attrName.
      • clearRelationships

        public void clearRelationships()
      • getRelationshipMap

        public Map<String,​? extends Relationship> getRelationshipMap()
        Returns an unmodifiable map of relationships sorted by name.
      • getAnyRelationship

        public Relationship getAnyRelationship​(Entity targetEntity)
        Returns a relationship that has a specified entity as a target. If there is more than one relationship for the same target, it is unpredictable which one will be returned.
        Since:
        1.1
      • getRelationships

        public Collection<? extends Relationship> getRelationships()
        Returns an unmodifiable collection of Relationships that exist in this entity.
      • getAttributeMap

        public Map<String,​? extends Attribute> getAttributeMap()
        Returns an unmodifiable sorted map of entity attributes.
      • getAttributes

        public Collection<? extends Attribute> getAttributes()
        Returns an unmodifiable collection of entity attributes.
      • translateToRelatedEntity

        public abstract Expression translateToRelatedEntity​(Expression expression,
                                                            String relationshipPath)
        Translates Expression rooted in this entity to an analogous expression rooted in related entity.
        Since:
        1.1
      • lastPathComponent

        public <T extends Attribute,​U extends RelationshipPathComponent<T,​U> lastPathComponent​(Expression path,
                                                                                                             Map aliasMap)
        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.
        Since:
        3.0
      • resolvePath

        public abstract <T extends Attribute,​U extends RelationshipIterable<PathComponent<T,​U>> resolvePath​(Expression pathExp,
                                                                                                                          Map aliasMap)
        Returns an Iterable over the path components with elements represented as PathComponent instances, encapsulating a relationship, an attribute or a subpath alias. An optional "aliasMap" parameter is used to resolve subpaths from aliases.

        This method is lazy: 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.

        Since:
        3.0
      • resolvePathComponents

        public abstract Iterator<CayenneMapEntry> resolvePathComponents​(Expression pathExp)
                                                                 throws ExpressionException
        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.
        Throws:
        ExpressionException
      • resolvePathComponents

        public Iterator<CayenneMapEntry> resolvePathComponents​(String path)
                                                        throws ExpressionException
        Returns an Iterator over the 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.
        Throws:
        ExpressionException