com.jxml.quick.model.qdml
Class QDMAbstract

java.lang.Object
  |
  +--com.jxml.quick.model.qdml.QDMCloneable
        |
        +--com.jxml.quick.model.qdml.QDMCoin
              |
              +--com.jxml.quick.model.qdml.QDMAbstract
All Implemented Interfaces:
Cloneable, QDMData, QDMElement

public class QDMAbstract
extends QDMCoin
implements QDMElement, QDMData

Models an abstract element in QDML. An abstract element has no tag attribute, since it doesn't define a particular XML element. (Similarly, an abstract Java class can't be instantiated.) Abstract coins provide a means of refering to the family of beans which implement them. Abstract coins also provide for inheritance of attributes, enums, and ranges by the coins which extend them.

DTD:

<!ELEMENT abstract (rem*, extends?, implements*, attributes, (enum|range)*)>

<!ATTLIST abstract 
    label CDATA #REQUIRED
    generate CDATA "True"
    validInherited CDATA "True"
    ID id #IMPLIED
>


Field Summary
 QDMAttributes attributes
          Models an attributes element, which is optional.
 QDMExtends extendor
          Models an extends element, which is optional.
 QDMCoin extendsCoin
          The QMAbstract, QMText, or QMBean object named by the extends element.
 ArrayList fieldList
          A container for QMField objects, which model field elements.
 ArrayList implementsList
          A container for QMImplements objects, which model implements elements.
 ArrayList propertyList
          A container for QMProperty objects, which model property elements.
 boolean validInherited
          Models the validInherited attribute on an abstract element.
 ArrayList validList
           A container for QMEnum and QMRange objects, which model enum and range elements.
 ArrayList valids
          A container for QMEnum and QMRange objects for this element, including enum and range elements defined on abstract and text coins which this abstract coin extends.
 
Fields inherited from class com.jxml.quick.model.qdml.QDMCoin
extensions, generate, implementations, label, remList
 
Constructor Summary
QDMAbstract()
           
 
Method Summary
 void buildMaps(Map coinMap, Map contentMap)
          Builds the maps.
 Object clone()
          Returns a deep copy of this object, but in an uninitialized form.
 Map getAtts()
          Returns a table of objects which model attribute item elements.
 String getTag()
          Returns the element or attribute tag name..
 ArrayList getValidList()
          Returns a list of objects which model valid elements.
 void init(Map coinMap, Map contentMap)
          Resolve references, inheritance.
 
Methods inherited from class com.jxml.quick.model.qdml.QDMCoin
addDecendants, derivesFromOther, getConcreteDecendants, getLabel
 
Methods inherited from class com.jxml.quick.model.qdml.QDMCloneable
clone, clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

validInherited

public boolean validInherited
Models the validInherited attribute on an abstract element. When false, enums and ranges are not inherited from the coin that this abstract coin extends.

extendor

public QDMExtends extendor
Models an extends element, which is optional. An abstract coin can extend a bean coin, a text coin, or another abstract coin, which is named by the extends element.

implementsList

public ArrayList implementsList
A container for QMImplements objects, which model implements elements. The implements elements are optional and repeating. These implements elements name the interface coins which this abstract coin "implements". (An abstract element, like an abstract Java class, can impliment any number of interfaces.)

attributes

public QDMAttributes attributes
Models an attributes element, which is optional. The attributes element defines the attributes associated with this coin, as well as various related variables and property methods on the abstract Java class used to model those attributes.

fieldList

public ArrayList fieldList
A container for QMField objects, which model field elements. The field elements are optional and repeating. These field elements describe the variables of the abstract Java class which this abstract element describes.

propertyList

public ArrayList propertyList
A container for QMProperty objects, which model property elements. The property elements are optional and repeating. These property elements describe the bean property methods of the abstract Java class which this abstract element describes.

validList

public ArrayList validList

A container for QMEnum and QMRange objects, which model enum and range elements. The enum and range elements are optional and repeating. These valid elements are used to describe some of the acceptable text content of text coins which extend this abstract coin.

The enum and range elements may not be present when the targetClass is present in the same abstract element.


extendsCoin

public transient QDMCoin extendsCoin
The QMAbstract, QMText, or QMBean object named by the extends element. This variable is set when the data model is initialized.

valids

public transient ArrayList valids
A container for QMEnum and QMRange objects for this element, including enum and range elements defined on abstract and text coins which this abstract coin extends. This list is populated when the data model is initialized.
Constructor Detail

QDMAbstract

public QDMAbstract()
Method Detail

clone

public Object clone()
Description copied from class: QDMCoin
Returns a deep copy of this object, but in an uninitialized form.
Overrides:
clone in class QDMCoin

buildMaps

public void buildMaps(Map coinMap,
                      Map contentMap)
               throws SAXException
Description copied from class: QDMCoin
Builds the maps. This method is called during initialization of the data model.
Overrides:
buildMaps in class QDMCoin

init

public void init(Map coinMap,
                 Map contentMap)
          throws SAXException
Description copied from class: QDMCoin
Resolve references, inheritance. This method is called during initialization of the data model.
Overrides:
init in class QDMCoin

getAtts

public Map getAtts()
            throws SAXException
Description copied from interface: QDMElement
Returns a table of objects which model attribute item elements. Inherited attribute item elements are included.
Specified by:
getAtts in interface QDMElement

getTag

public String getTag()
Returns the element or attribute tag name..
Specified by:
getTag in interface QDMElement

getValidList

public ArrayList getValidList()
                       throws SAXException
Description copied from interface: QDMData
Returns a list of objects which model valid elements. This list includes inherited valid elements.
Specified by:
getValidList in interface QDMData