org.apache.cayenne.util

## Class EntityMergeSupport

- java.lang.Object
- - org.apache.cayenne.util.EntityMergeSupport

-     public class EntityMergeSupport
      extends Object

  Implements methods for entity merging.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected List<EntityMergeListener>` | `listeners` Listeners of merge process.
    `protected DataMap` | `map`
    `protected NamingStrategy` | `namingStrategy` Strategy for choosing names for entities, attributes and relationships
    `protected boolean` | `removeMeaningfulFKs`
    `protected boolean` | `removeMeaningfulPKs`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EntityMergeSupport(DataMap map)`
    `EntityMergeSupport(DataMap map, NamingStrategy namingStrategy, boolean removeMeaningfulPKs)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEntityMergeListener(EntityMergeListener listener)` Registers new EntityMergeListener
    `protected void` | `fireAttributeAdded(ObjAttribute attr)` Notifies all listeners that an ObjAttribute was added
    `protected void` | `fireRelationshipAdded(ObjRelationship rel)` Notifies all listeners that an ObjRelationship was added
    `protected List<DbAttribute>` | `getAttributesToAdd(ObjEntity objEntity)` Returns a list of attributes that exist in the DbEntity, but are missing from the ObjEntity.
    `EntityMergeListener[]` | `getEntityMergeListeners()` Returns registered listeners
    `DataMap` | `getMap()`
    `Collection<DbAttribute>` | `getMeaningfulFKs(ObjEntity objEntity)` Returns a list of DbAttributes that are mapped to foreign keys.
    `NamingStrategy` | `getNamingStrategy()`
    `protected List<DbRelationship>` | `getRelationshipsToAdd(ObjEntity objEntity)`
    `boolean` | `isRemoveMeaningfulFKs()`
    `void` | `removeEntityMergeListener(EntityMergeListener listener)` Unregisters an EntityMergeListener
    `void` | `setMap(DataMap map)`
    `void` | `setNamingStrategy(NamingStrategy strategy)` Sets new naming strategy for reverse engineering
    `void` | `setRemoveMeaningfulFKs(boolean removeMeaningfulFKs)`
    `boolean` | `synchronizeWithDbEntities(Collection<ObjEntity> objEntities)` Updates each one of the collection of ObjEntities, adding attributes and relationships based on the current state of its DbEntity.
    `boolean` | `synchronizeWithDbEntity(ObjEntity entity)` Updates ObjEntity attributes and relationships based on the current state of its DbEntity.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### map

          protected DataMap map

    - #### removeMeaningfulFKs

          protected boolean removeMeaningfulFKs

    - #### removeMeaningfulPKs

          protected boolean removeMeaningfulPKs

    - #### namingStrategy

          protected NamingStrategy namingStrategy

      Strategy for choosing names for entities, attributes and relationships

    - #### listeners

          protected List<EntityMergeListener> listeners

      Listeners of merge process.

  - ### Constructor Detail

    - #### EntityMergeSupport

          public EntityMergeSupport(DataMap map)

    - #### EntityMergeSupport

          public EntityMergeSupport(DataMap map,
                                    NamingStrategy namingStrategy,
                                    boolean removeMeaningfulPKs)

      Since:
        3.0

  - ### Method Detail

    - #### synchronizeWithDbEntities

          public boolean synchronizeWithDbEntities(Collection<ObjEntity> objEntities)

      Updates each one of the collection of ObjEntities, adding attributes and relationships based on the current state of its DbEntity.
      Returns:
        true if any ObjEntity has changed as a result of synchronization.
      Since:
        1.2 changed signature to use Collection instead of List.

    - #### synchronizeWithDbEntity

          public boolean synchronizeWithDbEntity(ObjEntity entity)

      Updates ObjEntity attributes and relationships based on the current state of its DbEntity.
      Returns:
        true if the ObjEntity has changed as a result of synchronization.

    - #### getMeaningfulFKs

          public Collection<DbAttribute> getMeaningfulFKs(ObjEntity objEntity)

      Returns a list of DbAttributes that are mapped to foreign keys.
      Since:
        1.2

    - #### getAttributesToAdd

          protected List<DbAttribute> getAttributesToAdd(ObjEntity objEntity)

      Returns a list of attributes that exist in the DbEntity, but are missing from the ObjEntity.

    - #### getRelationshipsToAdd

          protected List<DbRelationship> getRelationshipsToAdd(ObjEntity objEntity)

    - #### getMap

          public DataMap getMap()

    - #### setMap

          public void setMap(DataMap map)

    - #### isRemoveMeaningfulFKs

          public boolean isRemoveMeaningfulFKs()

      Since:
        1.2

    - #### setRemoveMeaningfulFKs

          public void setRemoveMeaningfulFKs(boolean removeMeaningfulFKs)

      Since:
        1.2

    - #### addEntityMergeListener

          public void addEntityMergeListener(EntityMergeListener listener)

      Registers new EntityMergeListener

    - #### removeEntityMergeListener

          public void removeEntityMergeListener(EntityMergeListener listener)

      Unregisters an EntityMergeListener

    - #### getEntityMergeListeners

          public EntityMergeListener[] getEntityMergeListeners()

      Returns registered listeners

    - #### fireAttributeAdded

          protected void fireAttributeAdded(ObjAttribute attr)

      Notifies all listeners that an ObjAttribute was added

    - #### fireRelationshipAdded

          protected void fireRelationshipAdded(ObjRelationship rel)

      Notifies all listeners that an ObjRelationship was added

    - #### setNamingStrategy

          public void setNamingStrategy(NamingStrategy strategy)

      Sets new naming strategy for reverse engineering

    - #### getNamingStrategy

          public NamingStrategy getNamingStrategy()

      Returns:
        naming strategy for reverse engineering

Copyright © 2001–2018 Apache Cayenne. All rights reserved.