001// license-header java merge-point
002//
003// Attention: generated code (by Metafacade.vsl) - do not modify!
004//
005package org.andromda.cartridges.xmlschema.metafacades;
006
007import org.andromda.metafacades.uml.AttributeFacade;
008
009/**
010 * Can be either an XSD attribute or element.
011 *
012 * Metafacade interface to be used by AndroMDA cartridges.
013 */
014public interface XSDAttribute
015    extends AttributeFacade
016{
017    /**
018     * Indicates the metafacade type (used for metafacade mappings).
019     *
020     * @return boolean always <code>true</code>
021     */
022    public boolean isXSDAttributeMetaType();
023
024    /**
025     * Gets the maximum amount this element can occur within an XML Schema complex type (if the
026     * object represents an attribute this value will be null).
027     * @return String
028     */
029    public String getMaxOccurs();
030
031    /**
032     * Returns the minimum amount that this object can occur with an XML Schema complex type (if the
033     * object represents an attribute this value will be null).
034     * @return String
035     */
036    public String getMinOccurs();
037
038    /**
039     * Indicates whether or not the owner of this attribute is an XML schema type.
040     * @return boolean
041     */
042    public boolean isOwnerSchemaType();
043
044    /**
045     * Returns true if this object represents an XSD attribute, false otherwise.
046     * @return boolean
047     */
048    public boolean isXsdAttribute();
049
050    /**
051     * Returns true if this object represents an XSD element, false otherwise.
052     * @return boolean
053     */
054    public boolean isXsdElement();
055}