+++ /dev/null
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
- "http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd">
-<document>
- <header>
- <title>Property Data Handling</title>
- <authors>
- <person id="pbw" name="Peter B. West" email="pbwest@powerup.com.au"/>
- </authors>
- </header>
- <body>
- <section>
- <title>Introduction</title>
- <p>
- An <link href= "../classes-overview.html" >overview of the
- properties and classes</link> involved in handling properties
- has already been given. This discussion will go in detail
- into the way data are represented within properties.
- </p>
- </section>
- <section>
- <title>Common data</title>
-
- <p>
- <fork href= "Character.html"
- >org.apache.fop.fo.properties.Character</fork> is an example
- of a basic <property> class. The data fields common to
- all properties are:
- </p>
-
- <dl>
- <dt>
- <code>final int dataTypes</code>
- </dt>
- <dd>
- This field defines the allowable data types which may be
- assigned to the property. The value is chosen from the data
- type constants defined in <fork href= "Property.html#NOTYPE"
- ><code >org.apache.fop.fo.properties.Property</code
- ></fork>, and may consist of more than one of those
- constants, bit-ORed together.
- </dd>
- <dt>
- <code >final int traitMapping</code >
- </dt>
- <dd>
- This field defines the mapping of properties to traits in
- the <code>Area tree</code>. The value is chosen from the
- trait mapping constants defined in <fork href=
- "Property.html#NO_TRAIT" ><code
- >org.apache.fop.fo.properties.Property</code ></fork>, and
- may consist of more than one of those constants, bit-ORed
- together.
- </dd>
- <dt>
- <code >final int initialValueType</code >
- </dt>
- <dd>
- This field defines the data type of the initial value
- assigned to the property. The value is chosen from the
- initial value type constants defined in <fork href=
- "Property.html#NOTYPE_IT" ><code
- >org.apache.fop.fo.properties.Property</code ></fork>. In
- the simplest <property> classes, such as
- <code>Character</code>,
- there is no defined initial value type.
- </dd>
- <dt>
- <code >final int inherited</code >
- </dt>
- <dd>
- This field defines the kind of inheritance applicable to the
- property. The value is chosen from the inheritance
- constants defined in <fork href= "Property.html#NO" ><code
- >org.apache.fop.fo.properties.Property</code ></fork>.
- </dd>
- </dl>
- </section>
- <section>
- <title>Accessing <property> Data Constants</title>
-
- <p>
- The constants above are generally accessed through the arrays
- maintained in the <fork href= "../PropertyConsts.html" ><code
- >PropertyConsts</code ></fork> singleton <fork href=
- "../PropertyConsts.html#pconsts" ><code >pconsts</code
- ></fork>. The first invocation of the method <fork href=
- "../PropertyConsts.html#setupProperty" ><code
- >setupProperty</code ></fork> on the property generates a
- <code >Class</code > instance for the class, and stores it in
- the array <fork href= "../PropertyConsts.html#classes" ><code
- >classes</code ></fork>. This <code>Class</code> object is
- used, in turn, to instantiate the singleton instance of the
- class, which is stored in the <fork href=
- "../PropertyConsts.html#properties" ><code >Property[]
- properties</code ></fork> array of <fork href=
- "../PropertyConsts.html#pconsts" ><code >pconsts</code
- ></fork>.
- </p>
-
- <p>
- <em>Reflection</em> methods are then used, via the same
- <code>Class</code> instance, to extract and store the static
- data fields. These arrays and associated access methods are:
- </p>
-
- <dl>
- <dt>
- <fork href= "../PropertyConsts.html#datatypes" ><code
- >int[] datatypes</code ></fork>
- </dt>
- <dd>
- <fork href= "../PropertyConsts.html#getDataTypes" ><code
- >int getDataTypes(int)</code ></fork>
- </dd>
- <dt>
- <fork href= "../PropertyConsts.html#traitMappings" ><code
- >int[] traitMappings</code ></fork>
- </dt>
- <dd>
- <em>No access method yet defined.</em>
- </dd>
- <dt>
- <fork href= "../PropertyConsts.html#initialValueTypes" ><code
- >int[] initialValueTypes</code ></fork>
- </dt>
- <dd>
- <fork href= "../PropertyConsts.html#getInitialValueTypes" ><code
- >int getInitialValueTypes(int)</code ></fork>
- </dd>
- <dt>
- <fork href= "../PropertyConsts.html#inherited" ><code
- >int[] inherited</code ></fork>
- </dt>
- <dd>
- <fork href= "../PropertyConsts.html#inheritance" ><code
- >int inheritance(int)</code ></fork>
- </dd>
- </dl>
- </section>
- </body>
-</document>