001package systems.dmx.core.model; 002 003 004 005/** 006 * Definition of an association between a parent type and a child type -- part of DMX's type system; 007 * like a composition or an aggregation in an UML class diagram. 008 * <p> 009 * The child type is a topic type. The parent type is either a topic type or an association type. 010 * 011 * @author <a href="mailto:jri@deepamehta.de">Jörg Richter</a> 012 */ 013public interface AssociationDefinitionModel extends AssociationModel { 014 015 String getAssocDefUri(); 016 017 /** 018 * @return the URI of the Custom Association Type set for this association definition, 019 * or <code>null</code> if no Custom Association Type is set. 020 */ 021 String getCustomAssocTypeUri(); 022 023 /** 024 * @return the type to be used to create an association instance based on this association definition. 025 */ 026 String getInstanceLevelAssocTypeUri(); 027 028 String getParentTypeUri(); 029 030 String getChildTypeUri(); 031 032 String getParentCardinalityUri(); 033 034 String getChildCardinalityUri(); 035 036 ViewConfigurationModel getViewConfig(); 037 038 // --- 039 040 void setParentCardinalityUri(String parentCardinalityUri); 041 042 void setChildCardinalityUri(String childCardinalityUri); 043 044 void setViewConfig(ViewConfigurationModel viewConfig); 045}