|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.map.AshwoodEntitySorter
public class AshwoodEntitySorter
Implements dependency sorting algorithms for ObjEntities, DbEntities and DataObjects. Presently it works for acyclic database schemas with possible multi-reflexive tables. The class uses topological sorting from the Ashwood library.
Field Summary | |
---|---|
protected Map |
components
|
protected org.objectstyle.ashwood.graph.Digraph |
contractedReferentialDigraph
|
protected Collection<DataMap> |
dataMaps
|
protected org.apache.cayenne.map.AshwoodEntitySorter.DbEntityComparator |
dbEntityComparator
|
protected Map<DbEntity,org.objectstyle.ashwood.dbutil.Table> |
dbEntityToTableMap
|
protected boolean |
dirty
|
protected org.apache.cayenne.map.AshwoodEntitySorter.ObjEntityComparator |
objEntityComparator
|
protected org.objectstyle.ashwood.graph.Digraph |
referentialDigraph
|
protected Map<DbEntity,List<DbRelationship>> |
reflexiveDbEntities
|
protected org.apache.cayenne.map.AshwoodEntitySorter.TableComparator |
tableComparator
|
Constructor Summary | |
---|---|
AshwoodEntitySorter(Collection<DataMap> dataMaps)
|
Method Summary | |
---|---|
protected void |
_indexSorter()
Reindexes internal sorter. |
protected void |
fillInMetadata(org.objectstyle.ashwood.dbutil.Table table,
DbEntity entity)
|
protected Object |
findReflexiveMaster(Persistent object,
ObjRelationship toOneRel,
String targetEntityName)
|
protected Comparator |
getDbEntityComparator(boolean dependantFirst)
|
protected Comparator<ObjEntity> |
getObjEntityComparator(boolean dependantFirst)
|
protected org.objectstyle.ashwood.dbutil.Table |
getTable(DbEntity dbEntity)
|
protected org.objectstyle.ashwood.dbutil.Table |
getTable(ObjEntity objEntity)
|
protected boolean |
isReflexive(DbEntity metadata)
|
void |
setDataMaps(Collection<DataMap> dataMaps)
Initializes a list of DataMaps used by the sorter. |
void |
sortDbEntities(List<DbEntity> dbEntities,
boolean deleteOrder)
Sorts a list of DbEntities. |
void |
sortObjectsForEntity(ObjEntity objEntity,
List objects,
boolean deleteOrder)
Sorts a list of objects belonging to the ObjEntity. |
void |
sortObjEntities(List<ObjEntity> objEntities,
boolean deleteOrder)
Sorts a list of ObjEntities. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Collection<DataMap> dataMaps
protected Map<DbEntity,org.objectstyle.ashwood.dbutil.Table> dbEntityToTableMap
protected org.objectstyle.ashwood.graph.Digraph referentialDigraph
protected org.objectstyle.ashwood.graph.Digraph contractedReferentialDigraph
protected Map components
protected Map<DbEntity,List<DbRelationship>> reflexiveDbEntities
protected org.apache.cayenne.map.AshwoodEntitySorter.TableComparator tableComparator
protected org.apache.cayenne.map.AshwoodEntitySorter.DbEntityComparator dbEntityComparator
protected org.apache.cayenne.map.AshwoodEntitySorter.ObjEntityComparator objEntityComparator
protected boolean dirty
Constructor Detail |
---|
public AshwoodEntitySorter(Collection<DataMap> dataMaps)
Method Detail |
---|
protected void _indexSorter()
public void setDataMaps(Collection<DataMap> dataMaps)
EntitySorter
setDataMaps
in interface EntitySorter
public void sortDbEntities(List<DbEntity> dbEntities, boolean deleteOrder)
EntitySorter
sortDbEntities
in interface EntitySorter
public void sortObjEntities(List<ObjEntity> objEntities, boolean deleteOrder)
EntitySorter
sortObjEntities
in interface EntitySorter
public void sortObjectsForEntity(ObjEntity objEntity, List objects, boolean deleteOrder)
EntitySorter
sortObjectsForEntity
in interface EntitySorter
protected void fillInMetadata(org.objectstyle.ashwood.dbutil.Table table, DbEntity entity)
protected Object findReflexiveMaster(Persistent object, ObjRelationship toOneRel, String targetEntityName)
protected Comparator getDbEntityComparator(boolean dependantFirst)
protected Comparator<ObjEntity> getObjEntityComparator(boolean dependantFirst)
protected org.objectstyle.ashwood.dbutil.Table getTable(DbEntity dbEntity)
protected org.objectstyle.ashwood.dbutil.Table getTable(ObjEntity objEntity)
protected boolean isReflexive(DbEntity metadata)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |