Class ParticleInfo

java.lang.Object
org.apache.cxf.javascript.ParticleInfo
All Implemented Interfaces:
ItemInfo

public final class ParticleInfo extends Object implements ItemInfo
All the information needed to create the JavaScript for an Xml Schema element or xs:any.
  • Method Details

    • forGlobalElement

      public static ParticleInfo forGlobalElement(org.apache.ws.commons.schema.XmlSchemaElement element, org.apache.ws.commons.schema.XmlSchema currentSchema, SchemaCollection schemaCollection, NamespacePrefixAccumulator prefixAccumulator)
      Create an elementInfo that stores information about a global, named, element.
      Parameters:
      element - the element
      currentSchema - the schema it came from.
      schemaCollection - the collection of all schemas.
      prefixAccumulator - the accumulator that assigns prefixes.
      Returns:
    • forPartElement

      public static ParticleInfo forPartElement(org.apache.ws.commons.schema.XmlSchemaElement element, SchemaCollection schemaCollection, String javascriptName, String xmlElementName)
      Create element information for a part element. For a part, the JavaScript and Element names are calculated in advance, and the element itself might be null! In that case, the minOccurs and maxOccurs are conventional. Note that in some cases the code in ServiceJavascriptBuilder uses a local element (or xa:any) from inside the part element, instead of the part element itself.
      Parameters:
      element - the element, or null
      schemaCollection - the schema collection, for resolving types.
      javascriptName - javascript variable name
      xmlElementName - xml element string
      Returns:
    • forLocalItem

      public static ParticleInfo forLocalItem(org.apache.ws.commons.schema.XmlSchemaObject sequenceObject, org.apache.ws.commons.schema.XmlSchema currentSchema, SchemaCollection schemaCollection, NamespacePrefixAccumulator prefixAccumulator, QName contextName)
      Fill in an ElementInfo for an element or xs:any from a sequence.
      Parameters:
      sequenceObject -
      currentSchema -
      schemaCollection -
      prefixAccumulator -
      contextName -
      Returns:
    • getControllingName

      public QName getControllingName()
      As a general rule, the JavaScript code is organized by types. The exception is global elements that have anonymous types. In those cases, the JavaScript code has its functions named according to the element. This method returns the QName for the type or element, accordingly. If a schema has a local element with an anonymous, complex, type, this will throw. This will need to be fixed.
      Returns:
      the qname.
    • getParticle

      public org.apache.ws.commons.schema.XmlSchemaParticle getParticle()
    • getJavascriptName

      public String getJavascriptName()
      Specified by:
      getJavascriptName in interface ItemInfo
    • setJavascriptName

      public void setJavascriptName(String name)
    • getXmlName

      public String getXmlName()
    • setXmlName

      public void setXmlName(String elementXmlName)
    • getContainingType

      public org.apache.ws.commons.schema.XmlSchemaType getContainingType()
    • setContainingType

      public void setContainingType(org.apache.ws.commons.schema.XmlSchemaType containingType)
    • getType

      public org.apache.ws.commons.schema.XmlSchemaType getType()
      Specified by:
      getType in interface ItemInfo
    • setType

      public void setType(org.apache.ws.commons.schema.XmlSchemaType type)
    • isGroup

      public boolean isGroup()
    • getChildren

      public List<ParticleInfo> getChildren()
    • isEmpty

      public boolean isEmpty()
    • setEmpty

      public void setEmpty(boolean empty)
    • getMinOccurs

      public long getMinOccurs()
    • getMaxOccurs

      public long getMaxOccurs()
    • isArray

      public boolean isArray()
      Specified by:
      isArray in interface ItemInfo
    • isOptional

      public boolean isOptional()
      Specified by:
      isOptional in interface ItemInfo
    • isNillable

      public boolean isNillable()
      Specified by:
      isNillable in interface ItemInfo
      Returns:
      Returns the nillable flag for the element. False for 'xs:any'
    • isAny

      public boolean isAny()
      Specified by:
      isAny in interface ItemInfo
    • isAnyType

      public boolean isAnyType()
    • getDefaultValue

      public String getDefaultValue()
      *
      Specified by:
      getDefaultValue in interface ItemInfo
      Returns:
      Returns the defaultValue.
    • setDefaultValue

      public void setDefaultValue(String defaultValue)
      Specified by:
      setDefaultValue in interface ItemInfo
      Parameters:
      defaultValue - The defaultValue to set.
    • isGlobal

      public boolean isGlobal()
      True if this describes a global, named, element.
      Returns:
    • toString

      public String toString()
      Overrides:
      toString in class Object