001package de.deepamehta.core.model; 002 003 004 005/** 006 * Definition of an association between 2 topic types -- part of DeepaMehta's type system, 007 * like an association in a class diagram. Used to represent both, aggregations and compositions. 008 * ### FIXDOC: also assoc types have assoc defs 009 * 010 * @author <a href="mailto:jri@deepamehta.de">Jörg Richter</a> 011 */ 012public interface AssociationDefinitionModel extends AssociationModel { 013 014 String getAssocDefUri(); 015 016 String getCustomAssocTypeUri(); 017 018 /** 019 * The type to be used to create an association instance based on this association definition. 020 */ 021 String getInstanceLevelAssocTypeUri(); 022 023 String getParentTypeUri(); 024 025 String getChildTypeUri(); 026 027 String getParentCardinalityUri(); 028 029 String getChildCardinalityUri(); 030 031 ViewConfigurationModel getViewConfigModel(); 032 033 // --- 034 035 void setParentCardinalityUri(String parentCardinalityUri); 036 037 void setChildCardinalityUri(String childCardinalityUri); 038 039 void setViewConfigModel(ViewConfigurationModel viewConfigModel); 040}