class TypeStorage extends Object
Modifier and Type | Class and Description |
---|---|
private static class |
TypeStorage.EndlessRecursionDetection |
Modifier and Type | Field and Description |
---|---|
private static String |
CHILD_CARDINALITY |
private TypeStorage.EndlessRecursionDetection |
endlessRecursionDetection |
private Logger |
logger |
private ModelFactoryImpl |
mf |
private static String |
PARENT_CARDINALITY |
private PersistenceLayer |
pl |
private Map<String,TypeModelImpl> |
typeCache |
Constructor and Description |
---|
TypeStorage(PersistenceLayer pl) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
addAssocDefToSequence(long typeId,
long assocDefId,
long beforeAssocDefId,
long firstAssocDefId,
long lastAssocDefId)
Adds an assoc def to the sequence.
|
private void |
appendToSequence(long typeId,
long assocDefId,
long predAssocDefId) |
private void |
associateCardinality(long assocDefId,
String cardinalityRoleTypeUri,
String cardinalityUri) |
private void |
checkAssociationType(String assocTypeUri,
TopicModel typeTopic) |
private void |
checkTopicType(String topicTypeUri,
TopicModel typeTopic) |
private String |
defaultCardinalityUri(AssociationModel assoc,
String cardinalityRoleTypeUri) |
private void |
deleteSequence(TopicModel typeTopic) |
private ViewConfigurationModel |
fetchAssocDefViewConfig(AssociationModel assocDef) |
private AssociationDefinitionModel |
fetchAssociationDefinition(AssociationModel assoc,
String parentTypeUri,
String childTypeUri) |
private List<AssociationDefinitionModel> |
fetchAssociationDefinitions(TopicModelImpl typeTopic) |
private Map<Long,AssociationDefinitionModel> |
fetchAssociationDefinitionsUnsorted(TopicModelImpl typeTopic) |
private AssociationTypeModelImpl |
fetchAssociationType(String assocTypeUri) |
private RelatedTopicModelImpl |
fetchCardinality(long assocDefId,
String cardinalityRoleTypeUri) |
private RelatedTopicModelImpl |
fetchCardinalityOrThrow(long assocDefId,
String cardinalityRoleTypeUri) |
private void |
fetchChildTopics(Iterable<? extends DeepaMehtaObjectModel> objects) |
private TopicModel |
fetchChildTypeTopic(AssociationModel assoc) |
private RelatedTopicModel |
fetchCustomAssocType(long assocDefId) |
private RelatedTopicModel |
fetchDataTypeTopic(long typeId,
String typeUri,
String className) |
private RelatedTopicModel |
fetchIncludeInLabel(long assocDefId) |
private List<IndexMode> |
fetchIndexModes(long typeId) |
private List<String> |
fetchLabelConfig(List<AssociationDefinitionModel> assocDefs) |
(package private) TypeModelImpl |
fetchParentType(AssociationModel assoc) |
private TopicModel |
fetchParentTypeTopic(AssociationModel assoc) |
private RelatedAssociationModelImpl |
fetchPredecessor(long assocDefId) |
private List<RelatedAssociationModelImpl> |
fetchSequence(TopicModel typeTopic) |
private RelatedAssociationModelImpl |
fetchSequenceStart(long typeId) |
private RelatedAssociationModelImpl |
fetchSuccessor(long assocDefId) |
private TopicTypeModelImpl |
fetchTopicType(String topicTypeUri) |
private ViewConfigurationModel |
fetchTypeViewConfig(TopicModel typeTopic) |
(package private) AssociationTypeModelImpl |
getAssociationType(String assocTypeUri) |
(package private) TopicTypeModelImpl |
getTopicType(String topicTypeUri) |
(package private) TypeModelImpl |
getType(String typeUri) |
private void |
insertAtSequenceStart(long typeId,
long assocDefId) |
private void |
insertIntoSequence(long assocDefId,
long beforeAssocDefId) |
(package private) RoleModel |
newAssocDefRole(long assocDefId) |
(package private) AssociationDefinitionModelImpl |
newAssociationDefinition(AssociationModel assoc)
Creates an assoc def from an association which may or may not have been an assoc def before.
|
(package private) RoleModel |
newTypeRole(long typeId) |
private void |
prepareAssocModel(AssociationModel assoc,
String parentTypeUri,
String childTypeUri)
Prepares an assoc model for being used as the base for an assoc def model.
|
(package private) void |
putInTypeCache(TypeModelImpl type) |
(package private) void |
rebuildSequence(TypeModelImpl type) |
private void |
removeCardinalityAssignment(RelatedTopicModelImpl cardinalityAssignment) |
private void |
removeCardinalityAssignmentIfExists(long assocDefId,
String cardinalityRoleTypeUri) |
(package private) void |
removeFromTypeCache(String typeUri) |
private List<AssociationDefinitionModel> |
sortAssocDefs(Map<Long,AssociationDefinitionModel> assocDefs,
List<Long> sequence) |
private void |
storeAssocDefs(long typeId,
Collection<AssociationDefinitionModelImpl> assocDefs) |
(package private) void |
storeAssociationDefinition(AssociationDefinitionModelImpl assocDef) |
private void |
storeCardinalityUri(long assocDefId,
String cardinalityRoleTypeUri,
String cardinalityUri) |
(package private) void |
storeChildCardinalityUri(long assocDefId,
String childCardinalityUri) |
(package private) void |
storeDataType(String typeUri,
String dataTypeUri) |
(package private) void |
storeIndexMode(String typeUri,
IndexMode indexMode) |
private void |
storeIndexModes(String typeUri,
List<IndexMode> indexModes) |
private void |
storeLabelConfig(List<String> labelConfig,
Collection<AssociationDefinitionModelImpl> assocDefs)
Stores the label configuration of a newly created type.
|
(package private) void |
storeParentCardinalityUri(long assocDefId,
String parentCardinalityUri) |
private void |
storeSequence(long typeId,
Collection<AssociationDefinitionModelImpl> assocDefs) |
private void |
storeSequenceSegment(long predAssocDefId,
long succAssocDefId) |
private void |
storeSequenceStart(long typeId,
long assocDefId) |
(package private) void |
storeType(TypeModelImpl type)
Stores the type-specific parts of the given type model.
|
private void |
storeViewConfig(RoleModel configurable,
ViewConfigurationModelImpl viewConfig) |
(package private) void |
storeViewConfigTopic(RoleModel configurable,
TopicModelImpl configTopic) |
(package private) void |
updateLabelConfig(List<String> labelConfig,
Collection<AssociationDefinitionModelImpl> assocDefs)
Updates the label configuration of an existing type.
|
private ViewConfigurationModel |
viewConfigModel(Iterable<? extends TopicModel> configTopics) |
private static final String PARENT_CARDINALITY
private static final String CHILD_CARDINALITY
private Map<String,TypeModelImpl> typeCache
private TypeStorage.EndlessRecursionDetection endlessRecursionDetection
private PersistenceLayer pl
private ModelFactoryImpl mf
TypeStorage(PersistenceLayer pl)
TopicTypeModelImpl getTopicType(String topicTypeUri)
AssociationTypeModelImpl getAssociationType(String assocTypeUri)
void putInTypeCache(TypeModelImpl type)
void removeFromTypeCache(String typeUri)
TypeModelImpl getType(String typeUri)
private TopicTypeModelImpl fetchTopicType(String topicTypeUri)
private AssociationTypeModelImpl fetchAssociationType(String assocTypeUri)
private void checkTopicType(String topicTypeUri, TopicModel typeTopic)
private void checkAssociationType(String assocTypeUri, TopicModel typeTopic)
void storeType(TypeModelImpl type)
Called to store a newly created topic type or association type.
private RelatedTopicModel fetchDataTypeTopic(long typeId, String typeUri, String className)
void storeDataType(String typeUri, String dataTypeUri)
private List<IndexMode> fetchIndexModes(long typeId)
private void storeIndexModes(String typeUri, List<IndexMode> indexModes)
void storeIndexMode(String typeUri, IndexMode indexMode)
private String defaultCardinalityUri(AssociationModel assoc, String cardinalityRoleTypeUri)
private List<AssociationDefinitionModel> fetchAssociationDefinitions(TopicModelImpl typeTopic)
private Map<Long,AssociationDefinitionModel> fetchAssociationDefinitionsUnsorted(TopicModelImpl typeTopic)
AssociationDefinitionModelImpl newAssociationDefinition(AssociationModel assoc)
Note: the assoc is **not** required to identify its players by URI (by ID is OK)
private AssociationDefinitionModel fetchAssociationDefinition(AssociationModel assoc, String parentTypeUri, String childTypeUri)
private void prepareAssocModel(AssociationModel assoc, String parentTypeUri, String childTypeUri)
private RelatedTopicModel fetchCustomAssocType(long assocDefId)
private RelatedTopicModel fetchIncludeInLabel(long assocDefId)
private List<AssociationDefinitionModel> sortAssocDefs(Map<Long,AssociationDefinitionModel> assocDefs, List<Long> sequence)
private void storeAssocDefs(long typeId, Collection<AssociationDefinitionModelImpl> assocDefs)
void storeAssociationDefinition(AssociationDefinitionModelImpl assocDef)
private TopicModel fetchParentTypeTopic(AssociationModel assoc)
assoc
- an association representing an association definitionprivate TopicModel fetchChildTypeTopic(AssociationModel assoc)
assoc
- an association representing an association definitionTypeModelImpl fetchParentType(AssociationModel assoc)
private RelatedTopicModelImpl fetchCardinality(long assocDefId, String cardinalityRoleTypeUri)
private RelatedTopicModelImpl fetchCardinalityOrThrow(long assocDefId, String cardinalityRoleTypeUri)
void storeParentCardinalityUri(long assocDefId, String parentCardinalityUri)
void storeChildCardinalityUri(long assocDefId, String childCardinalityUri)
private void storeCardinalityUri(long assocDefId, String cardinalityRoleTypeUri, String cardinalityUri)
private void removeCardinalityAssignmentIfExists(long assocDefId, String cardinalityRoleTypeUri)
private void removeCardinalityAssignment(RelatedTopicModelImpl cardinalityAssignment)
private void associateCardinality(long assocDefId, String cardinalityRoleTypeUri, String cardinalityUri)
private List<RelatedAssociationModelImpl> fetchSequence(TopicModel typeTopic)
private RelatedAssociationModelImpl fetchSequenceStart(long typeId)
private RelatedAssociationModelImpl fetchSuccessor(long assocDefId)
private RelatedAssociationModelImpl fetchPredecessor(long assocDefId)
private void storeSequence(long typeId, Collection<AssociationDefinitionModelImpl> assocDefs)
void addAssocDefToSequence(long typeId, long assocDefId, long beforeAssocDefId, long firstAssocDefId, long lastAssocDefId)
beforeAssocDefId
- the ID of the assoc def before the assoc def is added
If -1
the assoc def is appended at end.
In this case lastAssocDefId
must identify the end.
(firstAssocDefId
is not relevant in this case.)firstAssocDefId
- Identifies the first assoc def. If this equals the ID of the assoc def to add
the assoc def is inserted at start.private void appendToSequence(long typeId, long assocDefId, long predAssocDefId)
private void insertAtSequenceStart(long typeId, long assocDefId)
private void insertIntoSequence(long assocDefId, long beforeAssocDefId)
private void storeSequenceStart(long typeId, long assocDefId)
private void storeSequenceSegment(long predAssocDefId, long succAssocDefId)
void rebuildSequence(TypeModelImpl type)
private void deleteSequence(TopicModel typeTopic)
private List<String> fetchLabelConfig(List<AssociationDefinitionModel> assocDefs)
private void storeLabelConfig(List<String> labelConfig, Collection<AssociationDefinitionModelImpl> assocDefs)
void updateLabelConfig(List<String> labelConfig, Collection<AssociationDefinitionModelImpl> assocDefs)
private ViewConfigurationModel fetchTypeViewConfig(TopicModel typeTopic)
private ViewConfigurationModel fetchAssocDefViewConfig(AssociationModel assocDef)
private ViewConfigurationModel viewConfigModel(Iterable<? extends TopicModel> configTopics)
private void storeViewConfig(RoleModel configurable, ViewConfigurationModelImpl viewConfig)
void storeViewConfigTopic(RoleModel configurable, TopicModelImpl configTopic)
private void fetchChildTopics(Iterable<? extends DeepaMehtaObjectModel> objects)
RoleModel newTypeRole(long typeId)
RoleModel newAssocDefRole(long assocDefId)
Copyright © 2016. All Rights Reserved.