org.eclipse.xsd.XSDElementDeclaration Maven / Gradle / Ivy
/**
* Copyright (c) 2002-2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM - Initial API and implementation
*/
package org.eclipse.xsd;
import org.eclipse.emf.common.util.EList;
/**
*
* A representation of the model object
* 'Element Declaration'.
*
*
*
* The following features are supported:
*
*
* - {@link org.eclipse.xsd.XSDElementDeclaration#isNillable Nillable}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getDisallowedSubstitutions Disallowed Substitutions}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getSubstitutionGroupExclusions Substitution Group Exclusions}
* - {@link org.eclipse.xsd.XSDElementDeclaration#isAbstract Abstract}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getLexicalFinal Lexical Final}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getBlock Block}
* - {@link org.eclipse.xsd.XSDElementDeclaration#isElementDeclarationReference Element Declaration Reference}
* - {@link org.eclipse.xsd.XSDElementDeclaration#isCircular Circular}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getAnnotation Annotation}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getAnonymousTypeDefinition Anonymous Type Definition}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getTypeDefinition Type Definition}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getIdentityConstraintDefinitions Identity Constraint Definitions}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getResolvedElementDeclaration Resolved Element Declaration}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getSubstitutionGroupAffiliation Substitution Group Affiliation}
* - {@link org.eclipse.xsd.XSDElementDeclaration#getSubstitutionGroup Substitution Group}
*
*
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration()
* @model
* @generated
*/
public interface XSDElementDeclaration extends XSDFeature, XSDSchemaContent, XSDTerm
{
/**
* Returns the value of the 'Nillable' attribute.
*
*
* This represents the
* nillable
* infoset property.
*
*
* @return the value of the 'Nillable' attribute.
* @see #isSetNillable()
* @see #unsetNillable()
* @see #setNillable(boolean)
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_Nillable()
* @model unsettable="true"
* @generated
*/
boolean isNillable();
/**
* Sets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#isNillable Nillable}' attribute.
*
*
* @param value the new value of the 'Nillable' attribute.
* @see #isSetNillable()
* @see #unsetNillable()
* @see #isNillable()
* @generated
*/
void setNillable(boolean value);
/**
* Unsets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#isNillable Nillable}' attribute.
*
*
* @see #isSetNillable()
* @see #isNillable()
* @see #setNillable(boolean)
* @generated
*/
void unsetNillable();
/**
* Returns whether the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#isNillable Nillable}' attribute is set.
*
*
* @return whether the value of the 'Nillable' attribute is set.
* @see #unsetNillable()
* @see #isNillable()
* @see #setNillable(boolean)
* @generated
*/
boolean isSetNillable();
/**
* Returns the value of the 'Disallowed Substitutions' attribute list.
* The list contents are of type {@link org.eclipse.xsd.XSDDisallowedSubstitutions}.
* The literals are from the enumeration {@link org.eclipse.xsd.XSDDisallowedSubstitutions}.
*
*
* This represents the
* dissallowed substitutions
* infoset property.
* It is computed from the {@link #getBlock() block} and should typically not be modified directly.
*
* @see #getStringDisallowedSubstitutions()
* @
* @return the value of the 'Disallowed Substitutions' attribute list.
* @see org.eclipse.xsd.XSDDisallowedSubstitutions
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_DisallowedSubstitutions()
* @model
* @generated
*/
EList getDisallowedSubstitutions();
/**
* Returns the String value of the '{@link #getDisallowedSubstitutions() Disallowed Substitutions}' attribute list.
*
*
*
*
* @return the String value of the 'Disallowed Substitutions' attribute list.
* @see #getDisallowedSubstitutions()
*/
String getStringDisallowedSubstitutions();
/**
* Returns the value of the 'Substitution Group Exclusions' attribute list.
* The list contents are of type {@link org.eclipse.xsd.XSDSubstitutionGroupExclusions}.
* The literals are from the enumeration {@link org.eclipse.xsd.XSDSubstitutionGroupExclusions}.
*
*
* This represents the
* substitution group exclusions
* infoset property.
* It is computed from the {@link #getLexicalFinal() final} and should typically not be modified directly.
*
* @see #getStringSubstitutionGroupExclusions()
* @
* @return the value of the 'Substitution Group Exclusions' attribute list.
* @see org.eclipse.xsd.XSDSubstitutionGroupExclusions
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_SubstitutionGroupExclusions()
* @model
* @generated
*/
EList getSubstitutionGroupExclusions();
/**
* Returns the value of the 'Substitution Group Exclusions' attribute list.
*
* @see #getSubstitutionGroupExclusions()
* @
* @return the value of the 'Substitution Group Exclusions' attribute list.
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_SubstitutionGroupExclusions()
*/
String getStringSubstitutionGroupExclusions();
/**
* Returns the value of the 'Abstract' attribute.
*
*
* This represents the
* abstract
* infoset property.
*
*
* @return the value of the 'Abstract' attribute.
* @see #isSetAbstract()
* @see #unsetAbstract()
* @see #setAbstract(boolean)
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_Abstract()
* @model unsettable="true"
* @generated
*/
boolean isAbstract();
/**
* Sets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#isAbstract Abstract}' attribute.
*
*
* @param value the new value of the 'Abstract' attribute.
* @see #isSetAbstract()
* @see #unsetAbstract()
* @see #isAbstract()
* @generated
*/
void setAbstract(boolean value);
/**
* Unsets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#isAbstract Abstract}' attribute.
*
*
* @see #isSetAbstract()
* @see #isAbstract()
* @see #setAbstract(boolean)
* @generated
*/
void unsetAbstract();
/**
* Returns whether the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#isAbstract Abstract}' attribute is set.
*
*
* @return whether the value of the 'Abstract' attribute is set.
* @see #unsetAbstract()
* @see #isAbstract()
* @see #setAbstract(boolean)
* @generated
*/
boolean isSetAbstract();
/**
* Returns the value of the 'Lexical Final' attribute list.
* The list contents are of type {@link org.eclipse.xsd.XSDProhibitedSubstitutions}.
* The literals are from the enumeration {@link org.eclipse.xsd.XSDProhibitedSubstitutions}.
*
*
* This concrete attribute represents the value of the
* final attribute.
*
* @see #getStringLexicalFinal()
* @see #setStringLexicalFinal(java.lang.String)
* @
* @return the value of the 'Lexical Final' attribute list.
* @see org.eclipse.xsd.XSDProhibitedSubstitutions
* @see #isSetLexicalFinal()
* @see #unsetLexicalFinal()
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_LexicalFinal()
* @model unsettable="true"
* @generated
*/
EList getLexicalFinal();
/**
* Unsets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getLexicalFinal Lexical Final}' attribute list.
*
*
* @see #isSetLexicalFinal()
* @see #getLexicalFinal()
* @generated
*/
void unsetLexicalFinal();
/**
* Returns whether the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getLexicalFinal Lexical Final}' attribute list is set.
*
*
* @return whether the value of the 'Lexical Final' attribute list is set.
* @see #unsetLexicalFinal()
* @see #getLexicalFinal()
* @generated
*/
boolean isSetLexicalFinal();
/**
* Returns the String value of the '{@link #getLexicalFinal() Lexical Final}' attribute list.
*
*
* @see #getStringLexicalFinal()
* @see #setStringLexicalFinal(java.lang.String)
* @return the String value of the 'Lexical Final' attribute list.
*/
String getStringLexicalFinal();
/**
* Sets the String value of the '{@link #getLexicalFinal() Lexical Final}' attribute list.
*
*
* @param lexicalFinal the new value of the 'Lexical Final' attribute list.
* @see #getLexicalFinal()
* @see #getStringLexicalFinal()
*/
void setStringLexicalFinal(String lexicalFinal);
/**
* Returns the value of the 'Block' attribute list.
* The list contents are of type {@link org.eclipse.xsd.XSDDisallowedSubstitutions}.
* The literals are from the enumeration {@link org.eclipse.xsd.XSDDisallowedSubstitutions}.
*
*
* This concrete attribute represents the value of the
* block attribute.
*
* @see #getStringBlock()
* @see #setStringBlock(java.lang.String)
* @
* @return the value of the 'Block' attribute list.
* @see org.eclipse.xsd.XSDDisallowedSubstitutions
* @see #isSetBlock()
* @see #unsetBlock()
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_Block()
* @model unsettable="true"
* @generated
*/
EList getBlock();
/**
* Unsets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getBlock Block}' attribute list.
*
*
* @see #isSetBlock()
* @see #getBlock()
* @generated
*/
void unsetBlock();
/**
* Returns whether the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getBlock Block}' attribute list is set.
*
*
* @return whether the value of the 'Block' attribute list is set.
* @see #unsetBlock()
* @see #getBlock()
* @generated
*/
boolean isSetBlock();
/**
* Returns the String value of the '{@link #getBlock() Block}' attribute list.
*
*
* @return the value of the 'Block' attribute list.
* @see #getBlock()
* @see #setStringBlock(java.lang.String)
*/
String getStringBlock();
/**
* Set the String value of the '{@link #getBlock() Block}' attribute list.
*
*
* @param block the new value of the 'Block' attribute list.
* @see #getBlock()
* @see #getStringBlock()
*/
void setStringBlock(String block);
/**
* Returns the value of the 'Element Declaration Reference' attribute.
*
*
* This concrete attribute is equivalent to
*
* xsdElementDeclaration != xsdElementDeclaration.{@link #getResolvedElementDeclaration getResolvedElementDeclaration}()
*
* An infoset feature will never return an instance for which this is the true
* since this is a concrete attribute that is used to represent an element declaration
* with a ref attribute.
*
*
* @return the value of the 'Element Declaration Reference' attribute.
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_ElementDeclarationReference()
* @model changeable="false" volatile="true"
* @generated
*/
boolean isElementDeclarationReference();
/**
* Returns the value of the 'Circular' attribute.
*
*
* This indicates that the element declaration is part of an invalid circular substitution group.
*
*
* @return the value of the 'Circular' attribute.
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_Circular()
* @model changeable="false" volatile="true"
* @generated
*/
boolean isCircular();
/**
* Returns the value of the 'Annotation' containment reference.
*
*
* This represents the
* annotation
* infoset property.
*
*
* @return the value of the 'Annotation' containment reference.
* @see #setAnnotation(XSDAnnotation)
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_Annotation()
* @model containment="true"
* @generated
*/
XSDAnnotation getAnnotation();
/**
* Sets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getAnnotation Annotation}' containment reference.
*
*
* @param value the new value of the 'Annotation' containment reference.
* @see #getAnnotation()
* @generated
*/
void setAnnotation(XSDAnnotation value);
/**
* Returns the value of the 'Anonymous Type Definition' containment reference.
*
*
* This concrete reference represents a type definition defined within the body of an
* element element.
*
*
* @return the value of the 'Anonymous Type Definition' containment reference.
* @see #setAnonymousTypeDefinition(XSDTypeDefinition)
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_AnonymousTypeDefinition()
* @model containment="true"
* @generated
*/
XSDTypeDefinition getAnonymousTypeDefinition();
/**
* Sets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getAnonymousTypeDefinition Anonymous Type Definition}' containment reference.
*
*
* @param value the new value of the 'Anonymous Type Definition' containment reference.
* @see #getAnonymousTypeDefinition()
* @generated
*/
void setAnonymousTypeDefinition(XSDTypeDefinition value);
/**
* Returns the value of the 'Type Definition' reference.
*
*
* This represents the
* type definition
* infoset property.
*
*
* @return the value of the 'Type Definition' reference.
* @see #setTypeDefinition(XSDTypeDefinition)
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_TypeDefinition()
* @model resolveProxies="false" required="true"
* @generated
*/
XSDTypeDefinition getTypeDefinition();
/**
* Sets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getTypeDefinition Type Definition}' reference.
*
*
* @param value the new value of the 'Type Definition' reference.
* @see #getTypeDefinition()
* @generated
*/
void setTypeDefinition(XSDTypeDefinition value);
/**
* Returns the value of the 'Identity Constraint Definitions' containment reference list.
* The list contents are of type {@link org.eclipse.xsd.XSDIdentityConstraintDefinition}.
*
*
* This represents the
* identity constraint definitions
* infoset property.
*
*
* @return the value of the 'Identity Constraint Definitions' containment reference list.
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_IdentityConstraintDefinitions()
* @model containment="true"
* @generated
*/
EList getIdentityConstraintDefinitions();
/**
* Returns the value of the 'Resolved Element Declaration' reference.
*
*
* This concrete reference represents the element declaration
* resolved by the ref attribute.
*
*
* @return the value of the 'Resolved Element Declaration' reference.
* @see #setResolvedElementDeclaration(XSDElementDeclaration)
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_ResolvedElementDeclaration()
* @model resolveProxies="false" required="true"
* @generated
*/
XSDElementDeclaration getResolvedElementDeclaration();
/**
* Sets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getResolvedElementDeclaration Resolved Element Declaration}' reference.
*
*
* @param value the new value of the 'Resolved Element Declaration' reference.
* @see #getResolvedElementDeclaration()
* @generated
*/
void setResolvedElementDeclaration(XSDElementDeclaration value);
/**
* Returns the value of the 'Substitution Group Affiliation' reference.
*
*
* This represents the
* substitution group affiliation
* infoset property.
*
*
* @return the value of the 'Substitution Group Affiliation' reference.
* @see #setSubstitutionGroupAffiliation(XSDElementDeclaration)
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_SubstitutionGroupAffiliation()
* @model resolveProxies="false"
* @generated
*/
XSDElementDeclaration getSubstitutionGroupAffiliation();
/**
* Sets the value of the '{@link org.eclipse.xsd.XSDElementDeclaration#getSubstitutionGroupAffiliation Substitution Group Affiliation}' reference.
*
*
* @param value the new value of the 'Substitution Group Affiliation' reference.
* @see #getSubstitutionGroupAffiliation()
* @generated
*/
void setSubstitutionGroupAffiliation(XSDElementDeclaration value);
/**
* Returns the value of the 'Substitution Group' reference list.
* The list contents are of type {@link org.eclipse.xsd.XSDElementDeclaration}.
*
*
* This represents the
* substitution group
* infoset property;
* actually it isn't really an infoset property,
* but it's certainly needed during validation.
*
*
* @return the value of the 'Substitution Group' reference list.
* @see org.eclipse.xsd.XSDPackage#getXSDElementDeclaration_SubstitutionGroup()
* @model resolveProxies="false"
* @generated
*/
EList getSubstitutionGroup();
}