public class ClassEdgeCardinalityDiscovery
extends java.lang.Object
Constructor and Description |
---|
ClassEdgeCardinalityDiscovery() |
Modifier and Type | Method and Description |
---|---|
void |
discoverAlwaysCardinalityInterval(XOCLog log,
java.lang.String classRelationName,
java.lang.String sourceClassName,
java.lang.String targetClassName)
(1)discover always cardinality interval for both source and target sides of class edges;
(2)the end of the interval is the largest value of the eventually cardinality;
the start of the interval is identified by checking the related objects in the birth event
(3) this function is fast with losing precision of cardinality
|
void |
discoverAlwaysCardinalityListForObjectList(java.util.List<XOCObject> objectList,
java.util.Map<XOCObject,java.util.Map<IntegerPair,java.lang.Integer>> objectVSPeriodVSCardinality,
java.util.Map<XOCObject,java.util.List<IntegerPair>> objectVSPeriodList,
java.util.List<java.lang.Integer> alwaysCardinalityList,
java.lang.String classRelationName)
discover the always cardinality list based on an object list and the class relation name;
fill in the alwaysCardinalityList, objectVSPeriodVSCardinality and objectVSPeriodList;
|
void |
discoverClassEdgeCardinality(XOCLog log,
java.lang.String classRelationName,
java.lang.String sourceClassName,
java.lang.String targetClassName) |
void |
discoverEventuallyCardinality(XOCLog log,
java.lang.String classRelationName,
java.lang.String sourceClassName,
java.lang.String targetClassName)
discover eventually cardinality for both source and target sides of class edges;
we only incorporate the cardinality of each reference object in the last object model;
|
java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.List<IntegerPair>>> |
getClassRelationIdVSSourceObjectVSPeriodList()
get classRelationIdVSSourceObjectVSPeriodList which records life cycle period of each cardinality for source objects of each class relation;
|
java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.Map<IntegerPair,java.lang.Integer>>> |
getClassRelationIdVSSourceObjectVSPeriodVSCardinalityMap()
get classRelationVSSourceObjectVSPeriodVSCardinality which records the cardinality and life cycle period of source objects of each class relation;
in other words, get the details of the target always cardinality;
|
java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.List<IntegerPair>>> |
getClassRelationIdVSTargetObjectVSPeriodList()
get classRelationIdVSTargetObjectVSPeriodList which records life cycle period of each cardinality for target objects of each class relation;
|
java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.Map<IntegerPair,java.lang.Integer>>> |
getClassRelationIdVSTargetObjectVSPeriodVSCardinalityMap()
get classRelationVSTargetObjectVSPeriodVSCardinality which records the cardinality and life cycle period of target objects of each class relation;
in other words, get the details of the source always cardinality;
|
static void |
main(java.lang.String[] args) |
java.lang.String |
OutputSourceAlwaysCardinality() |
java.lang.String |
OutputSourceEventuallyCardinality() |
java.lang.String |
OutputTargeteAlwaysCardinality() |
java.lang.String |
OutputTargetEventuallyCardinality() |
java.lang.String |
standardizeAlwaysCardinality(java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> objectVSCardinalityList,
java.lang.String basedEventuallyCardinality) |
java.lang.String |
standardizeAlwaysCardinalityInfinit(java.util.List<java.lang.Integer> cardinalityList)
standardize always cardinalities as
(1) "0..*" or "1..*" if objects have cardinality more than 1
(2) 1 if all objects have same cardinality (i.e., 1)
(3)"0..1" if objects have two cardinalities (i.e., 0 and 1)
note that the cardinalityList should have unique element
|
java.lang.String |
standardizeEventuallyCardinality(java.util.Map<java.lang.String,java.lang.Integer> objectVSEventuallyCardinality) |
public java.lang.String OutputSourceAlwaysCardinality()
public java.lang.String OutputTargeteAlwaysCardinality()
public java.lang.String OutputSourceEventuallyCardinality()
public java.lang.String OutputTargetEventuallyCardinality()
public java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.Map<IntegerPair,java.lang.Integer>>> getClassRelationIdVSSourceObjectVSPeriodVSCardinalityMap()
public java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.List<IntegerPair>>> getClassRelationIdVSSourceObjectVSPeriodList()
public java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.Map<IntegerPair,java.lang.Integer>>> getClassRelationIdVSTargetObjectVSPeriodVSCardinalityMap()
public java.util.Map<java.lang.String,java.util.Map<XOCObject,java.util.List<IntegerPair>>> getClassRelationIdVSTargetObjectVSPeriodList()
public void discoverClassEdgeCardinality(XOCLog log, java.lang.String classRelationName, java.lang.String sourceClassName, java.lang.String targetClassName)
public void discoverAlwaysCardinalityInterval(XOCLog log, java.lang.String classRelationName, java.lang.String sourceClassName, java.lang.String targetClassName)
log
- classRelationName
- sourceClassName
- targetClassName
- public void discoverEventuallyCardinality(XOCLog log, java.lang.String classRelationName, java.lang.String sourceClassName, java.lang.String targetClassName)
log
- classRelationName
- sourceClassName
- targetClassName
- public void discoverAlwaysCardinalityListForObjectList(java.util.List<XOCObject> objectList, java.util.Map<XOCObject,java.util.Map<IntegerPair,java.lang.Integer>> objectVSPeriodVSCardinality, java.util.Map<XOCObject,java.util.List<IntegerPair>> objectVSPeriodList, java.util.List<java.lang.Integer> alwaysCardinalityList, java.lang.String classRelationName)
objectList
- objectVSPeriodVSCardinality
- objectVSPeriodList
- alwaysCardinalityList
- classRelationName
- public java.lang.String standardizeAlwaysCardinalityInfinit(java.util.List<java.lang.Integer> cardinalityList)
objectVSCardinalityList
- public java.lang.String standardizeAlwaysCardinality(java.util.Map<java.lang.String,java.util.List<java.lang.Integer>> objectVSCardinalityList, java.lang.String basedEventuallyCardinality)
public java.lang.String standardizeEventuallyCardinality(java.util.Map<java.lang.String,java.lang.Integer> objectVSEventuallyCardinality)
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception