001// license-header java merge-point 002// 003// Attention: generated code (by Metafacade.vsl) - do not modify! 004// 005package org.andromda.metafacades.uml; 006 007import java.util.Collection; 008 009/** 010 * A representation of the model object 'Instance Specification'. Represents an instance in a 011 * modeled system. Has the capability of being a deployment target in a deployment relationship, in 012 * the case that it is an instance of a node. Has the capability of being a deployed artifact, if it 013 * is an instance of an artifact. 014 * 015 * Metafacade interface to be used by AndroMDA cartridges. 016 */ 017public interface InstanceFacade 018 extends ModelElementFacade 019{ 020 /** 021 * Indicates the metafacade type (used for metafacade mappings). 022 * 023 * @return boolean always <code>true</code> 024 */ 025 public boolean isInstanceFacadeMetaType(); 026 027 /** 028 * Returns those slots that map onto attributes. 029 * @return Collection<AttributeLinkFacade> 030 */ 031 public Collection<AttributeLinkFacade> getAttributeLinks(); 032 033 /** 034 * A Classifier is a classification of instances - it describes a set of instances that have 035 * features 036 * in common. Can specify a generalization hierarchy by referencing its general classifiers. It 037 * may be 038 * a Class, DataType, PrimitiveType, Association, Collaboration, UseCase, etc. Can specify a 039 * generalization hierarchy by referencing its general classifiers. Has the capability to own 040 * collaboration uses. These collaboration uses link a collaboration with the classifier to give 041 * a 042 * description of the workings of the classifier. Classifier is defined to be a kind of 043 * templateable 044 * element so that a classifier can be parameterized. It is also defined to be a kind of 045 * parameterable 046 * element so that a classifier can be a formal template parameter. 047 * @return Collection<ClassifierFacade> 048 */ 049 public Collection<ClassifierFacade> getClassifiers(); 050 051 /** 052 * Those slots that map onto association ends. 053 * @return Collection<LinkEndFacade> 054 */ 055 public Collection<LinkEndFacade> getLinkEnds(); 056 057 /** 058 * A representation of the model object 'Instance Specification'. Represents an instance in a 059 * modeled 060 * system. Has the capability of being a deployment target in a deployment relationship, in the 061 * case 062 * that it is an instance of a node. Has the capability of being a deployed artifact, if it is 063 * an 064 * instance of an artifact. 065 * @return Collection<InstanceFacade> 066 */ 067 public Collection<InstanceFacade> getOwnedInstances(); 068 069 /** 070 * A representation of the model object 'Instance Specification'. Represents an instance in a 071 * modeled 072 * system. Has the capability of being a deployment target in a deployment relationship, in the 073 * case 074 * that it is an instance of a node. Has the capability of being a deployed artifact, if it is 075 * an 076 * instance of an artifact. 077 * @return Collection<LinkFacade> 078 */ 079 public Collection<LinkFacade> getOwnedLinks(); 080 081 /** 082 * All slots for this instance, this includes the ones that map onto attributes and the ones 083 * that map onto association ends. In fact, this feature holds the collection of both 084 * InstanceFacade.attributeLinks and InstanceFacade.linkEnds. 085 * @return Collection<AttributeLinkFacade> 086 */ 087 public Collection<AttributeLinkFacade> getSlots(); 088}