<head>
<title>Alt Design Frameset</title>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <script type="application/x-javascript">
+ <script type="text/javascript">
<!--
+ browserName = navigator.appName;
var isHigh = true;
function lengthenCol() {
fset = document.getElementById("altDesignFramesetRows");
fset.setAttribute("rows", "95%,*");
logowin = top.frames[0];
+ if (logowin == null) {
+ alert(
+ "Requires Navigator >= 7, Mozilla >= 1.2.1 or IE >= 6");
+ return;
+ }
logodoc = logowin.document;
lbutton = logodoc.getElementById("lengthenButton");
lbutton.setAttribute("value", "^");
fset = document.getElementById("altDesignFramesetRows");
fset.setAttribute("rows", "20%,*");
logowin = top.frames[0];
+ if (logowin == null) {
+ alert(
+ "Requires Navigator >= 7, Mozilla >= 1.2.1 or IE >= 6");
+ return;
+ }
logodoc = logowin.document;
lbutton = logodoc.getElementById("lengthenButton");
lbutton.setAttribute("value", "v");
top.frames[1].location = src;
lengthenCol();
}
+
+ function displayAlert(msg) {
+ alert(msg);
+ }
-->
</script>
</head>
li.toplevel {color: #CFDCED}
-->
</style>
+ <script type="text/javascript">
+ <!--
+ topdoc=window.top.document;
+ topwin=window.top;
+ // -->
+ </script>
</head>
<body>
- <input id="lengthenButton" onclick="parent.toggleColHeights();return
+ <input id="lengthenButton" onclick="topwin.toggleColHeights();return
true;" type="button" value="^">
<div id="menu" class="menu">
<ul>
<ul>
<li>
- <a href= "javascript:parent.displayHtml(
+ <a href= "javascript:topwin.displayHtml(
'properties/introduction.html' )" >Introduction</a>
</li>
<li>
- <a href= "javascript:parent.displayHtml(
+ <a href= "javascript:topwin.displayHtml(
'properties/classes-overview.html' )" >Classes
overview</a>
</li>
<li>
- <a href= "javascript:parent.displayHtml(
+ <a href= "javascript:topwin.displayHtml(
'properties/PropertyConsts-class.html' )"
>PropertyConsts</a>
</li>
<li>
- <a href= "javascript:parent.displayHtml(
+ <a href= "javascript:topwin.displayHtml(
'properties/simple-properties.html' )" >Simple
Properties</a>
</li>
<li>
- <a href= "javascript:parent.displayHtml(
+ <a href= "javascript:topwin.displayHtml(
'properties/getInitialValue.html' )"
>getInitialValue</a>
</li>
<li>
- <a href= "javascript:parent.displayHtml(
+ <a href= "javascript:topwin.displayHtml(
'properties/enumerated-values.html' )" >Enumerated
data</a>
</li>
<li>
- <a href= "javascript:parent.displayHtml(
+ <a href= "javascript:topwin.displayHtml(
'properties/propertyExpressions.html' )" >Property
parsing</a>
</li>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>PropertyConsts Description</title>
<link type="text/css" href="../../../page.css" rel="stylesheet">
+ <script type="text/javascript">
+ <!--
+ topdoc=window.top.document;
+ topwin=window.top;
+ // -->
+ </script>
</head>
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0"
text="#000000" bgcolor="#FFFFFF">
<h3>Introduction</h3>
<p>
- <a href="javascript:parent.displayCode(
+ <a href="javascript:topwin.displayCode(
'PropertyConsts.html#PropertyConstsClass'
)">This class</a>, and the singleton object which is <a
- href="javascript:parent.displayCode(
+ href="javascript:topwin.displayCode(
'PropertyConsts.html#pconsts' )">generated by the static
initializer</a>, is essentially a repository of
<property> class instances and the static data from
those classes of <span
class="codefrag">org.apache.fop.fo.property</span>.
The heart of this class is the method <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyConsts.html#setupProperty' )"><span class="codefrag"
>setupProperty</span ></a>. Whenever access to the data or
methods of a property class is required, this method in the
<p>
The class name is generated and stored in the <a
- href="javascript:parent.displayCode(
+ href="javascript:topwin.displayCode(
'PropertyConsts.html#classNames' )"><span class="codefrag"
>classNames</span ></a> array; a class instance is generated
from the name and stored in the <a
- href="javascript:parent.displayCode(
+ href="javascript:topwin.displayCode(
'PropertyConsts.html#classes' )"><span class="codefrag"
>classes</span ></a> array; and an instance of the class is
generated from the class object and stored in the <a
- href="javascript:parent.displayCode(
+ href="javascript:topwin.displayCode(
'PropertyConsts.html#properties' )"><span class="codefrag"
>properties</span ></a> array.
</p>
<META http-equiv= "Content-Type" content= "text/html; charset=ISO-8859-1" >
<title>Property classes overview</title>
<link type="text/css" href="../../../page.css" rel="stylesheet">
+ <script type="text/javascript">
+ <!--
+ topdoc=window.top.document;
+ topwin=window.top;
+ // -->
+ </script>
</head>
<body marginheight= "0" marginwidth= "0" topmargin= "0" leftmargin= "0" text= "#000000" bgcolor= "#FFFFFF" >
<div class= "content" >
"N10019" ></a> <h4>org.apache.fop.fo</h4>
<dl>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'PropNames.html#PropNamesClass'
)" ><em>PropNames</em></a>
</dt>
<dd>
This class maintains an array of <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropNames.html#propertyNames' )" >property names</a>,
synchronized to a complete set of property name <a href =
- "javascript:parent.displayCode( 'PropNames.html#NO_PROPERTY'
+ "javascript:topwin.displayCode( 'PropNames.html#NO_PROPERTY'
)" >constants</a> for indexing property-based arrays. It
includes methods to <a href =
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropNames.html#getPropertyName' )" >convert an index to a
- name</a> and to <a href = "javascript:parent.displayCode(
+ name</a> and to <a href = "javascript:topwin.displayCode(
'PropNames.html#getPropertyIndex' )" >convert a property
name to an index</a>.
</dd>
<dd>
A singleton instance of <span class= "codefrag"
>PropertyConsts</span> is created by the static initializer
- of the <a href = "javascript:parent.displayCode(
+ of the <a href = "javascript:topwin.displayCode(
'PropertyConsts.html#pconsts' )" >pconsts</a> field.
Working from the property indices defined in PropNames, the
methods in this class collect and supply the values of
fields defined in property objects into arrays.<br> The
heart of this class in the method <a href =
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyConsts.html#setupProperty' )" >setupProperty</a>,
which constructs the property name from the index,
instantiates a singleton of the appropriate class, and
the arrays of field values.
</dd>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'PropertySets.html#PropertySetsClass' )" ><em>PropertySets</em></a>
</dt>
<dd>
>ROBitSet</span>s representing many of the sets of
properties defined in <em>Section 7</em> of the
specification. Note that the <a
- href="javascript:parent.displayCode(
+ href="javascript:topwin.displayCode(
'PropertySets.html#borderProps' )"><em>Border</em></a>, <a
- href="javascript:parent.displayCode(
+ href="javascript:topwin.displayCode(
'PropertySets.html#paddingProps' )"><em>Padding</em></a> and
- <a href="javascript:parent.displayCode(
+ <a href="javascript:topwin.displayCode(
'PropertySets.html#backgroundProps'
)"><em>Background</em></a> sets are defined separately.
</dd>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'../FOPropertySets.html#FOPropertySetsClass' )"
><em>FOPropertySets</em></a>
</dt>
during processing of the subtrees.
</dd>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'ShorthandPropSets.html#ShorthandPropSetsClass' )"
><em>ShorthandPropSets</em></a>
</dt>
<dd>
This class contains arrays of <a href =
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'ShorthandPropSets.html#shorthands' )" >shorthand property
- indices</a> and <a href = "javascript:parent.displayCode(
+ indices</a> and <a href = "javascript:topwin.displayCode(
'ShorthandPropSets.html#compounds' )" >compound property
indices</a>, and <span class= "codefrag" >ROBitSet</span>s
representing the expansion sets of these shorthands and
properties are also included.
</dd>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'FOAttributes.html#FOAttributesClass' )"
><em>FOAttributes</em></a>
</dt>
This class manages the attribute set that is associated with
a SAX <span class= "codefrag" >startElement</span> event.
<em>fo:</em> namespace attributes are entered into a <a href
- = "javascript:parent.displayCode(
+ = "javascript:topwin.displayCode(
'FOAttributes.html#foAttrMap' )"><span class= "codefrag"
>HashMap</span></a>, indexed by the <em>fo:</em> property
index. As other namespaces are encountered, the values are
entered into namespace-specific <a href =
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'FOAttributes.html#nSpaceAttrMaps' )"><span class=
"codefrag" >HashMap</span>s</a>, indexed by the <em>local
name</em> of the attribute.
<h4>org.apache.fop.fo.properties</h4>
<dl>
<dt>
- <a href="javascript:parent.displayCode(
+ <a href="javascript:topwin.displayCode(
'Property.html#PropertyClass' )" ><em>Property</em></a>
</dt>
<dd>
<h4>org.apache.fop.fo.expr</h4>
<dl>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'PropertyTokenizer.html#PropertyTokenizerClass' )"
><em>PropertyTokenizer</em></a>
</dt>
<dd>
The tokenizer for the property expression parser. Defines a
- set of <a href = "javascript:parent.displayCode(
+ set of <a href = "javascript:topwin.displayCode(
'PropertyTokenizer.html#EOF' )" >token constants</a> and
returns these with associated token values.
</dd>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'PropertyParser.html#PropertyParserClass' )"
><em>PropertyParser</em></a>
</dt>
<h4>org.apache.fop.datatypes</h4>
<dl>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'PropertyValue.html#PropertyValueInterface' )"
><em>PropertyValue</em></a>
</dt>
>PropertyValue</span> classes must implement. In addition
to a few methods, <span class= "codefrag"
>PropertyValue</span> defines the set of <a href =
- "javascript:parent.displayCode( 'PropertyValue.html#NO_TYPE'
+ "javascript:topwin.displayCode( 'PropertyValue.html#NO_TYPE'
)" >constants</a> which the <span class= "codefrag"
>getType()</span> method may return; i.e. the valid set of
<span class= "codefrag" >PropertyValue</span> types.
</dd>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'AbstractPropertyValue.html#AbstractPropertyValueClass' )"
><em>AbstractPropertyValue</em></a>
</dt>
>AbstractPropertyValue</span>.
</dd>
<dt>
- <a href = "javascript:parent.displayCode(
+ <a href = "javascript:topwin.displayCode(
'PropertyValueList.html#PropertyValueListClass' )"
><em>PropertyValueList</em></a>
</dt>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Enumerated Data Values</title>
<link type="text/css" href="../../../page.css" rel="stylesheet">
+ <script type="text/javascript">
+ <!--
+ topdoc=window.top.document;
+ topwin=window.top;
+ // -->
+ </script>
</head>
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF">
<div class="content">
<h4>Array representation</h4>
<p>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'Direction.html#DirectionClass' )" ><span
class="codefrag">org.apache.fop.fo.properties.Direction</span></a>
is an example of a class which supports an enumerated value
with a small set of tokens. The <a href=
- "javascript:parent.displayCode( 'Direction.html#dataTypes' )"
+ "javascript:topwin.displayCode( 'Direction.html#dataTypes' )"
><span class="codefrag">dataTypes</span></a> field contains
- the <a href= "javascript:parent.displayCode(
+ the <a href= "javascript:topwin.displayCode(
'Property.html#NOTYPE' )" ><span class="codefrag">ENUM</span>
data type constant, defined in <span
class="codefrag">Property</span></a>. The enumeration integer
constants are defined as <span class="codefrag">public static
final int</span> values, <a href=
- "javascript:parent.displayCode( 'Direction.html#LTR') "><span
+ "javascript:topwin.displayCode( 'Direction.html#LTR') "><span
class="codefrag' )" >LTR</span> and <span
class="codefrag">RTL</span></a>. Associating enumeration
tokens with these integer constants occurs in the array <a
- href= "javascript:parent.displayCode( 'Direction.html#rwEnums'
+ href= "javascript:topwin.displayCode( 'Direction.html#rwEnums'
)" ><span class="codefrag">String[] rwEnums</span></a>, which
is initialized with the token strings. By convention, zero is
never used to represent a valid enumeration constant, anywhere
<p>
The publicly accessible mapping from enumeration token to
enumeration constant is achieved through the method <a href=
- "javascript:parent.displayCode( 'Direction.html#getEnumIndex'
+ "javascript:topwin.displayCode( 'Direction.html#getEnumIndex'
)" ><span class="codefrag">int
getEnumIndex(String)</span></a>. The corresponding mapping
from enumeration constant to enumeration token is achieved
- through the method <a href= "javascript:parent.displayCode(
+ through the method <a href= "javascript:topwin.displayCode(
'Direction.html#getEnumText' )" ><span class="codefrag">String
getEnumText(int)</span></a>.
</p>
<h4>HashMap representation</h4>
<p>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'RenderingIntent.html#RenderingIntentClass' )" ><span
class="codefrag"
>org.apache.fop.fo.properties.RenderingIntent</span ></a> is
an example of a class which supports an enumerated value with
a larger set of tokens. The <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'RenderingIntent.html#dataTypes' )" ><span
class="codefrag">dataTypes</span></a> field contains the <a
- href= "javascript:parent.displayCode( 'Property.html#NOTYPE'
+ href= "javascript:topwin.displayCode( 'Property.html#NOTYPE'
)" ><span class="codefrag">ENUM</span> data type constant,
defined in <span class="codefrag">Property</span></a>.
Enumeration integer constants are defined as <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'RenderingIntent.html#PERCEPTUAL' )" ><span
class="codefrag">public static final int</span></a> values.
Zero is never used to represent a valid enumeration constant.
The enumeration tokens are stored in the array <a href=
- "javascript:parent.displayCode( 'RenderingIntent.html#rwEnums'
+ "javascript:topwin.displayCode( 'RenderingIntent.html#rwEnums'
)" ><span class="codefrag">String[] rwEnums</span></a>, which
is initialized with the token strings. Association of
enumeration tokens with the integer constants occurs in the
<span class="codefrag">HashMap</span> <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'RenderingIntent.html#rwEnumHash"><span class="codefrag' )" >
rwEnumHash</span></a>, which is initialized from the token
array in a <span class="codefrag">static {}</span>
<p>
The publicly accessible mapping from enumeration token to
enumeration constant is achieved through the method <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'RenderingIntent.html#getEnumIndex' )" ><span
class="codefrag">int getEnumIndex(String)</span></a>. The
corresponding mapping from enumeration constant to enumeration
token is achieved through the method <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'RenderingIntent.html#getEnumText' )" ><span
class="codefrag">String getEnumText(int)</span></a>.
</p>
that value and its associated access methods may be factored
out to a new class, which each of the properties then extends.
An example of such a common super-class is <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'BorderCommonStyle.html#BorderCommonStyleClass' )" ><span
class="codefrag">BorderCommonStyle</span></a>. Like a
property with a normal HashMap representation of an enumerated
value, BorderCommonStyle defines <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'BorderCommonStyle.html#HIDDEN' )" ><span
class="codefrag">public static final int</span></a>
enumeration integer constants. Similarly, the enumeration
tokens are stored in the array <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'BorderCommonStyle.html#rwEnums' )" ><span
class="codefrag">String[] rwEnums</span></a>, and the
association of enumeration tokens with the integer constants
occurs in the <span class="codefrag">HashMap</span> <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'BorderCommonStyle.html#rwEnumHash' )" ><span
class="codefrag"> rwEnumHash</span></a>, initialized in a
<span class="codefrag">static {}</span> initializer. The
- mapping methods <a href= "javascript:parent.displayCode(
+ mapping methods <a href= "javascript:topwin.displayCode(
'BorderCommonStyle.html#getEnumIndex' )" ><span
class="codefrag">int getEnumIndex(String)</span></a> and <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'BorderCommonStyle.html#getEnumText' )" ><span
class="codefrag">String getEnumText(int)</span></a> are also
present.
constants described in the discussion of <a
href="simple-properties.html">simple properties</a>. These
values are defined in the individual sub-classes of this
- class, e.g. <a href= "javascript:parent.displayCode(
+ class, e.g. <a href= "javascript:topwin.displayCode(
'BorderLeftStyle.html#BorderLeftStyleClass' )" ><span
class="codefrag">BorderLeftStyle</span></a>. None of the
above fields or methods occur, and <span
indicated <span class="codefrag">Numeric</span> value.
</p>
<p>
- An example is the <a href= "javascript:parent.displayCode(
+ An example is the <a href= "javascript:topwin.displayCode(
'BorderCommonWidth.html#BorderCommonWidthClass' )" ><span
class="codefrag">BorderCommonWidth</span></a> property. This,
like the example of <a href="#common-enum-values"><span
represents common enumerated values which have been factored
out to form a super-class for particular properties. <span
class="codefrag">BorderCommonWidth</span>, therefore, also
- defines <a href= "javascript:parent.displayCode(
+ defines <a href= "javascript:topwin.displayCode(
'BorderCommonWidth.html#THIN' )" ><span
class="codefrag">enumeration constant values</span></a> and an
array of tokens. In this case, there is no <span
class="codefrag">HashMap</span>, because of the limited number
of tokens, but the mapping methods <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'BorderCommonWidth.html#getEnumIndex' )" ><span
class="codefrag">int getEnumIndex(String)</span></a> and <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'BorderCommonWidth.html#getEnumText' )" ><span
class="codefrag">String getEnumText(int)</span></a> are
present.
</p>
<p>
The added element in this property is the array <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'BorderCommonWidth.html#mappedPoints' )" ><span
class="codefrag">double[] mappedPoints</span></a>. The
entries in this array must by maintained in syncronization
- with the <a href= "javascript:parent.displayCode(
+ with the <a href= "javascript:topwin.displayCode(
'BorderCommonWidth.html#rwEnums' )" ><span
class="codefrag">String[] rwEnums</span></a> array of tokens
- and the set of <a href= "javascript:parent.displayCode(
+ and the set of <a href= "javascript:topwin.displayCode(
'BorderCommonWidth.html#THIN' )" >enumeration constants</a>.
The mapping from token to Numeric value is achieved by the <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'BorderCommonWidth.html#getMappedLength' )" ><span
class="codefrag">Numeric getMappedLength(FONode, int,
int)</span></a> method.
</p>
<p>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'BorderLeftWidth.html#BorderLeftWidthClass' )" ><span
class="codefrag">BorderLeftWidth</span></a> extends <a href=
- "javascript:parent.displayCode( 'BorderCommonWidth.html' )"
+ "javascript:topwin.displayCode( 'BorderCommonWidth.html' )"
><span class="codefrag">BorderCommonWidth</span></a>. It
includes the basic static data, like <a
href="simple-properties.html">simple properties</a>, and, in
- this case, the <a href= "javascript:parent.displayCode(
+ this case, the <a href= "javascript:topwin.displayCode(
'BorderLeftWidth.html#getInitialValue' )" ><span
class="codefrag">PropertyValue getInitialValue(int)</span></a>
method to derive the initial value.
<p>
As usual with property values, the usual method of deriving a
mapped numeric value is by calling the <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'../PropertyConsts.html#getMappedNumeric' )" ><span
class="codefrag">Numeric getMappedNumeric(FONode, int,
int)</span></a> method in <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'../PropertyConsts.html#pconsts' )" ><span
class="codefrag">pconsts</span></a>. All properties which
support a mapped numeric value must have a <span
class="codefrag">Numeric getMappedNumeric(FONode, int)</span>
method, which will be called through its singleton instance,
- stored in the <a href= "javascript:parent.displayCode(
+ stored in the <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#properties' )" ><span class= "codefrag"
>properties</span ></a> array, by the <span
class="codefrag">PropertyConsts</span> method.
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Generating Initial Values</title>
<link type="text/css" href="../../../page.css" rel="stylesheet">
+ <script type="text/javascript">
+ <!--
+ topdoc=window.top.document;
+ topwin=window.top;
+ // -->
+ </script>
</head>
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF">
<div class="content">
</h3>
<p>
- <a href= "javascript:parent.displayCode( 'AutoRestore.html' )"
+ <a href= "javascript:topwin.displayCode( 'AutoRestore.html' )"
><span class="codefrag"
>org.apache.fop.fo.properties.AutoRestore</span></a> is an
example of the next most complex property class. In
generation of a PropertyValue instance.
</p>
<p>
- The method <a href= "javascript:parent.displayCode(
+ The method <a href= "javascript:topwin.displayCode(
'AutoRestore.html#getInitialValue' )" ><span
class="codefrag">PropertyValue getInitialValue(int)</span></a>
returns an instance of PropertyValue of the appropriate
subclass containing the initial value for this property. Like
the static data fields, this value is, in turn, stored in the
array of initial values maintained in the <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyConsts.html#PropertyConstsClass' )" ><span
class="codefrag">PropertyConsts</span></a> singleton <a href=
- "javascript:parent.displayCode( 'PropertyConsts.html#pconsts'
+ "javascript:topwin.displayCode( 'PropertyConsts.html#pconsts'
)" ><span class="codefrag">pconsts</span></a>.` As with the
fields, the first invocation of the method <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyConsts.html#setupProperty' )" ><span
class="codefrag">setupProperty</span></a> on the property
instantiates the singleton instance of the class, and stores
that instance in the in the <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyConsts.html#properties' )" ><span
class="codefrag">Property[] properties</span></a> array of <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'PropertyConsts.html#pconsts' )" ><span
class="codefrag">pconsts</span></a>.
</p>
<p>
Unlike the static data fields, however, the initial value is
not immediately generated. It is generated by a call to <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'PropertyConsts.html#getInitialValue' )" ><span
class="codefrag">PropertyValue getInitialValue(int)</span></a>
- in <a href= "javascript:parent.displayCode(
+ in <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#pconsts' )" ><span
class="codefrag">pconsts</span></a>. This call, in turn,
locates the relevant instance of the particular property class
- in the <a href= "javascript:parent.displayCode(
+ in the <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#properties' )" ><span class= "codefrag"
>properties</span> array of <span class= "codefrag"
>PropertyConsts</span></a>, and invokes the <span class=
"codefrag" >getInitialValue()</span> of that instance. A
side-effect of this call is to store the initial value in <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'PropertyConsts.html#initialValues' )" ><span
class="codefrag">PropertyValue[] initialValues</span></a>.
</p>
As <a href="classes-overview.html#property-classes">noted
previously</a>, all of the property classes extend <span
class="codefrag">org.apache.fop.fo.properties.Property</span>.
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'Property.html#PropertyClass' )" ><span
class="codefrag">Property</span></a> provides a base <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'Property.html#getInitialValue' )" ><span
class="codefrag">PropertyValue getInitialValue(int)</span></a>
method to which the simple classes fall back. Note that it is
<head>
<title>Alt Design Frameset</title>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <script type="application/x-javascript">
+ <script type="text/javascript">
<!--
var isHigh = true;
fset = document.getElementById("altDesignFramesetRows");
fset.setAttribute("rows", "95%,*");
logowin = top.frames[0];
+ if (logowin == null) {
+ alert(
+ "Requires Navigator >= 7, Mozilla >= 1.2.1 or IE >= 6");
+ return;
+ }
logodoc = logowin.document;
lbutton = logodoc.getElementById("lengthenButton");
lbutton.setAttribute("value", "^");
fset = document.getElementById("altDesignFramesetRows");
fset.setAttribute("rows", "20%,*");
logowin = top.frames[0];
+ if (logowin == null) {
+ alert(
+ "Requires Navigator >= 7, Mozilla >= 1.2.1 or IE >= 6");
+ return;
+ }
logodoc = logowin.document;
lbutton = logodoc.getElementById("lengthenButton");
lbutton.setAttribute("value", "v");
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Property Expression Parsing</title>
<link type="text/css" href="../../../page.css" rel="stylesheet">
+ <script type="text/javascript">
+ <!--
+ topdoc=window.top.document;
+ topwin=window.top;
+ // -->
+ </script>
</head>
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF">
<div class="content">
<p>
The parsing of property value expressions is handled by two
closely related classes: <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyTokenizer.html#PropertyTokenizerClass' )" ><span
class= "codefrag" >org.apache.fop.fo.expr.PropertyTokenizer</span></a>
- and its subclass, <a href= "javascript:parent.displayCode(
+ and its subclass, <a href= "javascript:topwin.displayCode(
'PropertyParser.html#PropertyParserClass' )" ><span
class= "codefrag" >org.apache.fop.fo.expr.PropertyParser</span></a>,
and by <span class= "codefrag" >refineParsing(int, FONode,
PropertyValue)</span> methods in the individual property
classes. <span class= "codefrag" >PropertyTokenizer</span>, as
the name suggests, handles the tokenizing of the expression,
- handing <a href= "javascript:parent.displayCode(
+ handing <a href= "javascript:topwin.displayCode(
'PropertyTokenizer.html#EOF' )" ><em>tokens</em></a> back to
its subclass, <span
class= "codefrag" >PropertyParser</span>. <span
class= "codefrag" >PropertyParser</span>, in turn, returns a <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'PropertyValueList.html#PropertyValueListClass' )" ><span
class= "codefrag">PropertyValueList</span></a>, a list of <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'PropertyValue.html#PropertyValueInterface' )" ><span class=
"codefrag">PropertyValue</span></a>s.
</p>
The tokenizer and parser rely in turn on the datatype
definitions from the <span
class= "codefrag" >org.apache.fop.datatypes</span> package,
- which include the <a href= "javascript:parent.displayCode(
+ which include the <a href= "javascript:topwin.displayCode(
'PropertyValue.html#NO_TYPE' )" ><span class= "codefrag"
>PropertyValue</span> datatype constant definitions</a>.
</p>
<p>
As mentioned above, the <span class= "codefrag"
>PropertyTokenizer</span> hands <a href=
- "javascript:parent.displayCode( 'PropertyTokenizer.html#EOF'
+ "javascript:topwin.displayCode( 'PropertyTokenizer.html#EOF'
)" ><em>tokens</em></a> back to its subclass, <span class=
"codefrag" >PropertyParser</span>. Most of these tokens are
self-explanatory, but a few need further comment.
<a name="N1029C"></a>
<h4>Parser</h4>
<p>
- The parser returns a <a href= "javascript:parent.displayCode(
+ The parser returns a <a href= "javascript:topwin.displayCode(
'PropertyValueList.html#PropertyValueListClass' )" ><span
class= "codefrag" >PropertyValueList</span ></a>, necessary
because of the possibility that a list of <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyValue.html#PropertyValueInterface' )" ><span class=
"codefrag" >PropertyValue</span ></a> elements may be returned
from the expressions of some properties.
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Simple <property> Classes</title>
<link type="text/css" href="../../../page.css" rel="stylesheet">
+ <script type="text/javascript">
+ <!--
+ topdoc=window.top.document;
+ topwin=window.top;
+ // -->
+ </script>
</head>
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF">
<div class="content">
data are represented within properties. Iit is important to
keep in mind that the primary avenue of access to the data and
the methods of property classes is the <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyConsts.html#PropertyConstsClass' )" ><span
class="codefrag">PropertyConsts</span></a> class and its
singleton object.
<h3>Common data</h3>
<p>
- <a href= "javascript:parent.displayCode( 'Character.html' )" ><span
+ <a href= "javascript:topwin.displayCode( 'Character.html' )" ><span
class="codefrag">org.apache.fop.fo.properties.Character</span></a>
is an example of a basic property class. The data fields
common to all properties are:
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 <a href=
- "javascript:parent.displayCode( 'Property.html#NOTYPE' )"
+ "javascript:topwin.displayCode( 'Property.html#NOTYPE' )"
><span
class="codefrag">org.apache.fop.fo.properties.Property</span></a>,
and may consist of more than one of those constants,
This field defines the mapping of properties to traits in
the <span class="codefrag">Area tree</span>. The value is
chosen from the trait mapping constants defined in <a href=
- "javascript:parent.displayCode( 'Property.html#NO_TRAIT' )"
+ "javascript:topwin.displayCode( 'Property.html#NO_TRAIT' )"
><span
class="codefrag">org.apache.fop.fo.properties.Property</span></a>,
and may consist of more than one of those constants,
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 <a href=
- "javascript:parent.displayCode( 'Property.html#NOTYPE_IT' )"
+ "javascript:topwin.displayCode( 'Property.html#NOTYPE_IT' )"
><span
class="codefrag">org.apache.fop.fo.properties.Property</span></a>.
In the simplest property classes, such as <span
This field defines the kind of inheritance applicable to the
property. The value is chosen from the inheritance
constants defined in <a href=
- "javascript:parent.displayCode( 'Property.html#NO' )" ><span
+ "javascript:topwin.displayCode( 'Property.html#NO' )" ><span
class="codefrag">org.apache.fop.fo.properties.Property</span></a>.
</dd>
<h3>Accessing <property> Data Constants</h3>
<p>
The constants above are generally accessed through the arrays
- maintained in the <a href= "javascript:parent.displayCode(
+ maintained in the <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#PropertyConstsClass' )" ><span
class="codefrag">PropertyConsts</span></a> singleton <a href=
- "javascript:parent.displayCode( 'PropertyConsts.html#pconsts'
+ "javascript:topwin.displayCode( 'PropertyConsts.html#pconsts'
)" ><span class="codefrag">pconsts</span></a>. The first
invocation of the method <a href=
- "javascript:parent.displayCode(
+ "javascript:topwin.displayCode(
'PropertyConsts.html#setupProperty' )" ><span
class="codefrag">setupProperty</span></a> on the property
generates a <span class="codefrag">Class</span> instance for
the class, and stores it in the array <a href=
- "javascript:parent.displayCode( 'PropertyConsts.html#classes'
+ "javascript:topwin.displayCode( 'PropertyConsts.html#classes'
)" ><span class="codefrag">classes</span></a>. This <span
class="codefrag">Class</span> object is used, in turn, to
instantiate the singleton instance of the class, which is
- stored in the <a href= "javascript:parent.displayCode(
+ stored in the <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#properties' )" ><span
class="codefrag">Property[] properties</span></a> array of <a
- href= "javascript:parent.displayCode(
+ href= "javascript:topwin.displayCode(
'../PropertyConsts.html#pconsts' )" ><span
class="codefrag">pconsts</span></a>.
</p>
<dt>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#datatypes' )" ><span
class="codefrag">int[] datatypes</span></a>
<dd>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#getDataTypes' )" ><span
class="codefrag">int getDataTypes(int)</span></a>
<dt>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#traitMappings' )" ><span
class="codefrag">int[] traitMappings</span></a>
<dt>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#initialValueTypes' )" ><span
class="codefrag">int[] initialValueTypes</span></a>
<dd>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#getInitialValueType' )" ><span
class="codefrag">int getInitialValueType(int)</span></a>
<dt>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#inherited' )" ><span
class="codefrag">int[] inherited</span></a>
<dd>
- <a href= "javascript:parent.displayCode(
+ <a href= "javascript:topwin.displayCode(
'PropertyConsts.html#inheritance' )" ><span
class="codefrag">int inheritance(int)</span></a>