com.jxml.quick.model.qjml
Class QMCoin

java.lang.Object
  |
  +--com.jxml.quick.model.qjml.QMCloneable
        |
        +--com.jxml.quick.model.qjml.QMCoin
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
QMAbstract, QMBean, QMInterface, QMLink, QMText

public abstract class QMCoin
extends QMCloneable

Models the element coin, which represents a family of elements in QJML that are used to define XML elements and attributes. Corrispondingly, QMCoin serves as a base class for classes which model that family of QJML elements. (The inheritance model used by QJML is the same model used by Java.)


Field Summary
 HashMap accessors
           A table of all the variables and properties implemented by this coin, keyed by the variable and property name.
 ArrayList extensions
           A list of all the coins which extend this one.
 boolean generate
          Models the generate attribute, an optional attribute which defaults to true.
 ArrayList implementations
           A list of all the coins which implement this one.
 String label
           Models the attribute label, a required attribute on the coin element.
 ArrayList remList
          A container for QMRem objects, which model rem elements.
 
Constructor Summary
QMCoin()
           
 
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.
 QMAccess getAccessor(Map coinMap, String name)
           Returns the object which models the named field or property element.
abstract  String getClassName()
          Returns the fully qualified name of the class described by this coin.
 String getLabel()
          Returns the unique (within the scope of the QJML document) name of the coin, as specified by the coin's label.
 void init(Map coinMap, Map contentMap)
          Resolve references, inheritance.
 
Methods inherited from class com.jxml.quick.model.qjml.QMCloneable
clone, clone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

label

public String label

Models the attribute label, a required attribute on the coin element. The label uniquely (within a document) names a coin.


generate

public boolean generate
Models the generate attribute, an optional attribute which defaults to true. When set to false, the production of Java code for the class described by the coin is inhibited.

remList

public ArrayList remList
A container for QMRem objects, which model rem elements. The rem elements are optional and repeating. When a class is generated from the coin, the rem elements are used to produce the JavaDoc comment which describes the class.

extensions

public transient ArrayList extensions

A list of all the coins which extend this one. This list is populated when the data model is initialized.


implementations

public transient ArrayList implementations

A list of all the coins which implement this one. This list is populated when the data model is initialized.


accessors

public transient HashMap accessors

A table of all the variables and properties implemented by this coin, keyed by the variable and property name. This table is populated when the data model is initialized.

The keys include both the field or property name and a prefix, as follows:

The field and property elements which duplicate inherited field and property elements are not included in this table, but are accessable via the getAccessor method. For example, for a read/write property on a coin which extends another coin with a read-only property by the same name, the read/write property will be put in the coin's accessor table only once--with a prefix of "set_".

Constructor Detail

QMCoin

public QMCoin()
Method Detail

clone

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

getLabel

public String getLabel()
Returns the unique (within the scope of the QJML document) name of the coin, as specified by the coin's label.

buildMaps

public void buildMaps(Map coinMap,
                      Map contentMap)
               throws SAXException
Builds the maps. This method is called during initialization of the data model.

getAccessor

public QMAccess getAccessor(Map coinMap,
                            String name)
                     throws SAXException

Returns the object which models the named field or property element. This can be a field or property found within the content of the coin element being modeled, or one found within the content of a coin which this coin extends.

The keys include both the field or property name and a prefix, as follows:


init

public void init(Map coinMap,
                 Map contentMap)
          throws SAXException
Resolve references, inheritance. This method is called during initialization of the data model.

getClassName

public abstract String getClassName()
                             throws SAXException
Returns the fully qualified name of the class described by this coin.