Class WeightedAshwoodEntitySorter
java.lang.Object
org.apache.cayenne.ashwood.AshwoodEntitySorter
org.apache.cayenne.ashwood.WeightedAshwoodEntitySorter
- All Implemented Interfaces:
EntitySorter
EntitySorter that takes into account entity "weights", and otherwise delegating to
another (topological) sorter.
- Since:
- 3.1, since 4.0 moved to cayenne-server from cayenne-lifecycle
-
Field Summary
FieldsFields inherited from class AshwoodEntitySorter
components, dbEntityComparator, entityResolver, objEntityComparator, reflexiveDbEntitiesModifier and TypeFieldDescriptionprotected Comparator<DbEntity> protected EntityResolverprotected Comparator<ObjEntity> protected Map<DbEntity, List<DbRelationship>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddWeightForEntity(ObjEntity entity) protected voidReindexes internal sorter without synchronization.protected Comparator<DbEntity> getDbEntityComparator(boolean dependantFirst) protected Comparator<ObjEntity> getObjEntityComparator(boolean dependantFirst) Methods inherited from class AshwoodEntitySorter
buildDigraph, findReflexiveMaster, getDbEntityComparator, getObjEntityComparator, getReflexiveRelationshipsNames, indexSorter, isReflexive, setEntityResolver, sortDbEntities, sortObjectsForEntity, sortObjectsForEntity, sortObjEntities, topologicalSortModifier and TypeMethodDescriptionbuildDigraph(ObjEntity objEntity, List<E> objects, Function<E, Persistent> converter) protected PersistentfindReflexiveMaster(Persistent object, ObjRelationship toOneRel, String targetEntityName) protected String[]getReflexiveRelationshipsNames(ObjEntity objEntity) protected voidReindexes internal sorter in a thread-safe manner.booleanisReflexive(DbEntity metadata) voidsetEntityResolver(EntityResolver entityResolver) Sets EntityResolver for this sorter.voidsortDbEntities(List<DbEntity> dbEntities, boolean deleteOrder) Sorts a list of DbEntities.voidsortObjectsForEntity(ObjEntity objEntity, List<?> objects, boolean deleteOrder) Sorts a list of objects belonging to the ObjEntity.protected <E> voidsortObjectsForEntity(ObjEntity objEntity, List<E> objects, boolean deleteOrder, Function<E, Persistent> converter) voidsortObjEntities(List<ObjEntity> objEntities, boolean deleteOrder) Sorts a list of ObjEntities.protected <E> booleantopologicalSort(List<E> data, Digraph<E, Boolean> graph, boolean reverse)
-
Field Details
-
entityWeights
-
-
Constructor Details
-
WeightedAshwoodEntitySorter
public WeightedAshwoodEntitySorter()
-
-
Method Details
-
doIndexSorter
protected void doIndexSorter()Description copied from class:AshwoodEntitySorterReindexes internal sorter without synchronization.- Overrides:
doIndexSorterin classAshwoodEntitySorter
-
addWeightForEntity
-
getDbEntityComparator
- Overrides:
getDbEntityComparatorin classAshwoodEntitySorter
-
getObjEntityComparator
- Overrides:
getObjEntityComparatorin classAshwoodEntitySorter
-