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 * Represents a value object, a Classifier whose unique value is determined only by its attributes.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface ValueObject
015    extends ClassifierFacade
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isValueObjectMetaType();
023
024    /**
025     * Find all descendant children with the same ValueObject type. Used by WebServices to create
026     * XmlSeeAlso references to Xml descendant types.
027     * @return Collection<ValueObject>
028     */
029    public Collection<ValueObject> getTypeSpecializations();
030}