de.deepamehta.core
Interface Type

Show UML class diagram
All Superinterfaces:
DeepaMehtaObject, Identifiable, JSONEnabled, Topic
All Known Subinterfaces:
AssociationType, TopicType
All Known Implementing Classes:
AttachedAssociationType, AttachedTopicType, AttachedType

public interface Type
extends Topic


Method Summary
 void addAssocDef(AssociationDefinitionModel assocDef)
           
 void addIndexMode(IndexMode indexMode)
           
 AssociationDefinition getAssocDef(String childTypeUri)
           
 Collection<AssociationDefinition> getAssocDefs()
           
 String getDataTypeUri()
           
 List<IndexMode> getIndexModes()
           
 List<String> getLabelConfig()
           
 TypeModel getModel()
           
 ViewConfiguration getViewConfig()
           
 Object getViewConfig(String typeUri, String settingUri)
           
 boolean hasAssocDef(String childTypeUri)
           
 void removeAssocDef(String childTypeUri)
           
 void setDataTypeUri(String dataTypeUri)
           
 void setLabelConfig(List<String> labelConfig)
           
 void update(TypeModel model)
           
 void updateAssocDef(AssociationDefinitionModel assocDef)
          Note: in contrast to the other "update" methods this one updates the memory only, not the DB! If you want to update memory and DB use AssociationDefinition.update(de.deepamehta.core.model.AssociationDefinitionModel).
 
Methods inherited from interface de.deepamehta.core.Topic
loadChildTopics, loadChildTopics, update
 
Methods inherited from interface de.deepamehta.core.DeepaMehtaObject
delete, getAssociation, getAssociations, getChildTopics, getDatabaseVendorObject, getId, getProperty, getRelatedAssociation, getRelatedAssociations, getRelatedTopic, getRelatedTopics, getRelatedTopics, getRelatedTopics, getSimpleValue, getTypeUri, getUri, hasProperty, removeProperty, setChildTopics, setProperty, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setSimpleValue, setTypeUri, setUri, update, updateChildTopic, updateChildTopics
 
Methods inherited from interface de.deepamehta.core.JSONEnabled
toJSON
 

Method Detail

getDataTypeUri

String getDataTypeUri()

setDataTypeUri

void setDataTypeUri(String dataTypeUri)

getIndexModes

List<IndexMode> getIndexModes()

addIndexMode

void addIndexMode(IndexMode indexMode)

getAssocDefs

Collection<AssociationDefinition> getAssocDefs()

getAssocDef

AssociationDefinition getAssocDef(String childTypeUri)

hasAssocDef

boolean hasAssocDef(String childTypeUri)

addAssocDef

void addAssocDef(AssociationDefinitionModel assocDef)

updateAssocDef

void updateAssocDef(AssociationDefinitionModel assocDef)
Note: in contrast to the other "update" methods this one updates the memory only, not the DB! If you want to update memory and DB use AssociationDefinition.update(de.deepamehta.core.model.AssociationDefinitionModel).

This method is here to support a special case: the user retypes an association which results in a changed type definition. In this case the DB is already up-to-date and only the type's memory representation must be updated. So, here the DB update is the *cause* for a necessary memory-update. Normally the situation is vice-versa: the DB update is the necessary *effect* of a memory-update.

### TODO: get rid of this peculiar situation and remove this method. This might be achieved by using the PRE_UPDATE_ASSOCIATION hook instead the POST_UPDATE_ASSOCIATION hook in the Type Editor module. On pre-update we would perform a regular AssociationDefinition.update(de.deepamehta.core.model.AssociationDefinitionModel) and suppress further processing by returning false.

Parameters:
assocDef - the new association definition. Note: in contrast to the other "update" methods this one does not support partial updates. That is all association definition fields must be initialized.

removeAssocDef

void removeAssocDef(String childTypeUri)

getLabelConfig

List<String> getLabelConfig()

setLabelConfig

void setLabelConfig(List<String> labelConfig)

getViewConfig

ViewConfiguration getViewConfig()

getViewConfig

Object getViewConfig(String typeUri,
                     String settingUri)

getModel

TypeModel getModel()
Specified by:
getModel in interface DeepaMehtaObject
Specified by:
getModel in interface Topic

update

void update(TypeModel model)


Copyright © 2014. All Rights Reserved.