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 'Slot'. A slot specifies that an entity modeled by an
011 * instance specification has a value or values for a specific structural feature.
012 *
013 * Metafacade interface to be used by AndroMDA cartridges.
014 */
015public interface AttributeLinkFacade
016    extends ModelElementFacade
017{
018    /**
019     * Indicates the metafacade type (used for metafacade mappings).
020     *
021     * @return boolean always <code>true</code>
022     */
023    public boolean isAttributeLinkFacadeMetaType();
024
025    /**
026     * The attribute for this link.
027     * @return AttributeFacade
028     */
029    public AttributeFacade getAttribute();
030
031    /**
032     * The owning instance for this link.
033     * @return InstanceFacade
034     */
035    public InstanceFacade getInstance();
036
037    /**
038     * The first instance value for this link.
039     * @return InstanceFacade
040     */
041    public InstanceFacade getValue();
042
043    /**
044     * The instances this attribute link is attached too. An attribute link can have many instance
045     * values when its defining feature is an attribute with a 'many' multiplicity.
046     * @return Collection<InstanceFacade>
047     */
048    public Collection<InstanceFacade> getValues();
049}