Class DbRelationship

    • Field Detail

      • toDependentPK

        protected boolean toDependentPK
    • Constructor Detail

      • DbRelationship

        public DbRelationship()
      • DbRelationship

        public DbRelationship​(String name)
    • 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
      • getTargetEntity

        public DbEntity getTargetEntity()
        Returns a target of this relationship. If relationship is not attached to a DbEntity, and DbEntity doesn't have a namespace, and exception is thrown.
        Specified by:
        getTargetEntity in class Relationship
      • getTargetAttributes

        public Collection<DbAttribute> getTargetAttributes()
        Returns a Collection of target attributes.
        Since:
        1.1
      • getSourceAttributes

        public Collection<DbAttribute> getSourceAttributes()
        Returns a Collection of source attributes.
        Since:
        1.1
      • createReverseRelationship

        public DbRelationship createReverseRelationship()
        Creates a new relationship with the same set of joins, but going in the opposite direction.
        Since:
        1.0.5
      • getReverseRelationship

        public DbRelationship getReverseRelationship()
        Returns DbRelationship that is the opposite of this DbRelationship. This means a relationship from this target entity to this source entity with the same join semantics. Returns null if no such relationship exists.
        Specified by:
        getReverseRelationship in class Relationship
      • isToPK

        public boolean isToPK()
        Returns true if the relationship points to at least one of the PK columns of the target entity.
        Since:
        1.1
      • isFromPK

        public boolean isFromPK()
        Since:
        3.0
      • isToMasterPK

        public boolean isToMasterPK()
        Returns true if a method isToDependentPK of reverse relationship of this relationship returns true.
      • isSourceIndependentFromTargetChange

        public boolean isSourceIndependentFromTargetChange()
        Returns a boolean indicating whether modifying a target of such relationship in any way will not change the underlying table row of the source.
        Since:
        4.0
      • isToDependentPK

        public boolean isToDependentPK()
        Returns true if relationship from source to target points to dependent primary key. Dependent PK is a primary key column of the destination table that is also a FK to the source column.
      • setToDependentPK

        public void setToDependentPK​(boolean toDependentPK)
      • isValidForDepPk

        public boolean isValidForDepPk()
        Since:
        1.1
      • getJoins

        public List<DbJoin> getJoins()
        Returns a list of joins. List is returned by reference, so any modifications of the list will affect this relationship.
      • addJoin

        public void addJoin​(DbJoin join)
        Adds a join.
        Since:
        1.1
      • removeJoin

        public void removeJoin​(DbJoin join)
      • removeAllJoins

        public void removeAllJoins()
      • targetPkSnapshotWithSrcSnapshot

        public Map<String,​Object> targetPkSnapshotWithSrcSnapshot​(Map<String,​Object> srcSnapshot)
        Creates a snapshot of primary key attributes of a target object of this relationship based on a snapshot of a source. Only "to-one" relationships are supported. Returns null if relationship does not point to an object. Throws CayenneRuntimeException if relationship is "to many" or if snapshot is missing id components.
      • srcFkSnapshotWithTargetSnapshot

        public Map<String,​Object> srcFkSnapshotWithTargetSnapshot​(Map<String,​Object> targetSnapshot)
        Creates a snapshot of foreign key attributes of a source object of this relationship based on a snapshot of a target. Only "to-one" relationships are supported. Throws CayenneRuntimeException if relationship is "to many".
      • srcPkSnapshotWithTargetSnapshot

        public Map<String,​Object> srcPkSnapshotWithTargetSnapshot​(Map<String,​Object> targetSnapshot)
        Creates a snapshot of primary key attributes of a source object of this relationship based on a snapshot of a target. Only "to-many" relationships are supported. Throws CayenneRuntimeException if relationship is "to one".
      • setToMany

        public void setToMany​(boolean toMany)
        Sets relationship multiplicity.
      • isMandatory

        public boolean isMandatory()
        Description copied from class: Relationship
        Returns if relationship is mandatory
        Specified by:
        isMandatory in class Relationship
      • getSourceEntityName

        public String getSourceEntityName()