git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195870 13f79535-47bb-0310-9956-ffa450edef68pull/30/head
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> | |||||
<html> | |||||
<head> | |||||
<title>Alt Design Frameset</title> | |||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |||||
<style> | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
frame.logo {align=right;} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
<script type="application/x-javascript"> | |||||
<!-- | |||||
var isWide = false; | |||||
var isHigh = true; | |||||
function widenCol() { | |||||
if (isWide) { return; } | |||||
fset = document.getElementById("altDesignFramesetCols"); | |||||
fset.setAttribute("cols", "60%,*"); | |||||
logowin = top.frames[0]; | |||||
logodoc = logowin.document; | |||||
wbutton = logodoc.getElementById("widenButton"); | |||||
//tnode = document.createTextNode("<"); | |||||
//tchild = wbutton.firstChild; | |||||
wbutton.setAttribute("value", "<"); | |||||
isWide = true; | |||||
} | |||||
function narrowCol() { | |||||
if ( ! isWide) { return; } | |||||
fset = document.getElementById("altDesignFramesetCols"); | |||||
fset.setAttribute("cols", "200,*"); | |||||
logowin = top.frames[0]; | |||||
logodoc = logowin.document; | |||||
wbutton = logodoc.getElementById("widenButton"); | |||||
//tnode = document.createTextNode(">"); | |||||
//tchild = wbutton.firstChild; | |||||
//wbutton.replaceChild(tnode, tchild); | |||||
wbutton.setAttribute("value", ">"); | |||||
isWide = false; | |||||
} | |||||
function toggleColWidths() { | |||||
if (isWide) { | |||||
narrowCol(); | |||||
} else { | |||||
widenCol() | |||||
} | |||||
} | |||||
function lengthenCol() { | |||||
if (isHigh) { return; } | |||||
fset = document.getElementById("altDesignFramesetRows"); | |||||
fset.setAttribute("rows", "75%,*"); | |||||
logowin = top.frames[0]; | |||||
logodoc = logowin.document; | |||||
lbutton = logodoc.getElementById("lengthenButton"); | |||||
//tnode = document.createTextNode("^"); | |||||
//tchild = lbutton.firstChild; | |||||
//lbutton.replaceChild(tnode, tchild); | |||||
lbutton.setAttribute("value", "^"); | |||||
isHigh = true; | |||||
} | |||||
function shortenCol() { | |||||
if ( ! isHigh) { return; } | |||||
fset = document.getElementById("altDesignFramesetRows"); | |||||
fset.setAttribute("rows", "100,*"); | |||||
logowin = top.frames[0]; | |||||
logodoc = logowin.document; | |||||
lbutton = logodoc.getElementById("lengthenButton"); | |||||
//tnode = document.createTextNode("v"); | |||||
//tchild = lbutton.firstChild; | |||||
//lbutton.replaceChild(tnode, tchild); | |||||
lbutton.setAttribute("value", "v"); | |||||
isHigh = false; | |||||
} | |||||
function toggleColHeights() { | |||||
if (isHigh) { | |||||
shortenCol(); | |||||
} else { | |||||
lengthenCol() | |||||
} | |||||
} | |||||
function displayCode(src) { | |||||
top.frames[1].location = src; | |||||
widenCol(); | |||||
shortenCol(); | |||||
} | |||||
function displayHtml(src) { | |||||
top.frames[2].location = src; | |||||
narrowCol(); | |||||
lengthenCol(); | |||||
} | |||||
--> | |||||
</script> | |||||
</head> | |||||
<frameset id="altDesignFramesetCols" cols="200,*"> | |||||
<frameset id="altDesignFramesetRows" rows="75%,*"> | |||||
<frame id="logoFrame" class="logo" style="padding: 0px; margin: 0px: | |||||
border: 0px;" src="logo.html" scrolling="no"> | |||||
<frame id= "codeDisplayFrame" | |||||
class= "codeDisplay" | |||||
src= "codeframe.html" > | |||||
</frameset> | |||||
<frame id="contents" src="properties/introduction.html"> | |||||
</frameset> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<title>Frame for Code Display</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
p { text-align:center } | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<p>Frame for code display.</p> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<title>Logo for Properties</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
background-image: url(../../images/logo.jpg); | |||||
background-position: top center; | |||||
background-repeat: no-repeat; | |||||
background-attachment: fixed; | |||||
background-color:#294563;border:0px;padding:0px:margin:0px | |||||
} | |||||
img {padding:0px;margin:0px;border:0px;} | |||||
input {float:right;} | |||||
input#widenButton {position:fixed; top: 0px; right: 0px} | |||||
input#lengthenButton {position:fixed; top: 2em; right: 0px} | |||||
li.toplevel {color: #CFDCED} | |||||
.menu { | |||||
margin: 0px; padding: 0px; | |||||
} | |||||
.menu a:link {color: white} | |||||
.menu a:visited {color: white} | |||||
.menu a:hover {color: #FFCC00} | |||||
.menu ul { margin: 0px 0px 0px 20px; padding: 0px; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : small Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<input id="widenButton" onclick="parent.toggleColWidths();return | |||||
true;" type="button" value=">"> | |||||
<input id="lengthenButton" onclick="parent.toggleColHeights();return | |||||
true;" type="button" value="^"> | |||||
<div id="menu" class="menu"> | |||||
<ul> | |||||
<li class="toplevel">Index | |||||
<ul> | |||||
<li> | |||||
<a href="../../index.html" target="_parent">FOP Home</a> | |||||
</li> | |||||
<li> | |||||
<a href="index.html" target="_parent">Alt Design</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
<li class="toplevel">Alt Design Properties</font> | |||||
<ul> | |||||
<li> | |||||
<a href= "javascript:parent.displayHtml( | |||||
'properties/introduction.html' )" >Introduction</a> | |||||
</li> | |||||
<li> | |||||
<a href= "javascript:parent.displayHtml( | |||||
'properties/classes-overview.html' )" >Classes | |||||
overview</a> | |||||
</li> | |||||
<li> | |||||
<a href= "javascript:parent.displayHtml( | |||||
'properties/PropertyConsts-class.html' )" | |||||
>PropertyConsts</a> | |||||
</li> | |||||
<li> | |||||
<a href= "javascript:parent.displayHtml( | |||||
'properties/simple-properties.html' )" >Simple | |||||
Properties</a> | |||||
</li> | |||||
<li> | |||||
<a href= "javascript:parent.displayHtml( | |||||
'properties/getInitialValue.html' )" | |||||
>getInitialValue</a> | |||||
</li> | |||||
<li> | |||||
<a href= "javascript:parent.displayHtml( | |||||
'properties/enumerated-values.html' )" >Enumerated | |||||
data</a> | |||||
</li> | |||||
<li> | |||||
<a href= "javascript:parent.displayHtml( | |||||
'properties/propertyExpressions.html' )" >Property | |||||
parsing</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
</div> | |||||
</body> | |||||
</html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> | |||||
<!-- Created by htmlize-0.67 in css mode. --> | |||||
<html> | |||||
<head> | |||||
<title>AbstractPropertyValue.java</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
color: #000000; | |||||
background-color: #faf0e6; | |||||
} /* default */ | |||||
.jde-java-font-lock-package { | |||||
color: #0000cd; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-package-face */ | |||||
.jde-java-font-lock-constant { | |||||
color: #5f9ea0; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-constant-face */ | |||||
.keyword { | |||||
color: #8b0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-keyword-face */ | |||||
.jde-java-font-lock-doc-tag { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-doc-tag-face */ | |||||
.jde-java-font-lock-number { | |||||
color: #bc8f8f; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-number-face */ | |||||
.jde-java-font-lock-italic { | |||||
background-color: #faf0e6; | |||||
font-style: italic; | |||||
} /* jde-java-font-lock-italic-face */ | |||||
.string { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-string-face */ | |||||
.variable-name { | |||||
color: #8b008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-variable-name-face */ | |||||
.jde-java-font-lock-modifier { | |||||
color: #da70d6; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-modifier-face */ | |||||
.type { | |||||
color: #4682b4; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-type-face */ | |||||
.comment { | |||||
color: #00008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-comment-face */ | |||||
.function-name { | |||||
color: #8b2323; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-function-name-face */ | |||||
a { | |||||
color: inherit; | |||||
background-color: inherit; | |||||
font: inherit; | |||||
text-decoration: inherit; | |||||
} | |||||
a:hover { | |||||
text-decoration: underline; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<pre> | |||||
<span class="keyword">package</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">PropertyConsts</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">PropNames</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">properties</span>.<span class="jde-java-font-lock-number">*</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">FONode</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">expr</span>.<span class="type">PropertyException</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">PropertyValue</span>; | |||||
<span class="comment">/* | |||||
* AbstractPropertyValue.java | |||||
* $Id$ | |||||
* | |||||
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved. | |||||
* For details on use and redistribution please refer to the | |||||
* LICENSE file included with these sources. | |||||
* @author <a href="mailto:pbwest@powerup.com.au">Peter B. West</a> | |||||
* @version $Revision$ $Name$ | |||||
*/</span> | |||||
<span class="comment">/** | |||||
* Base abstract class for all property value types. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">abstract</span> <span class="keyword">class</span> <span class="function-name" id="AbstractPropertyValueClass">AbstractPropertyValue</span> | |||||
<span class="keyword">implements</span> <span class="type">PropertyValue</span>, <span class="type">Cloneable</span> | |||||
{ | |||||
<span class="comment">/** | |||||
* An integer index to the type of property of which this is a value. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">int</span> <span class="variable-name" id="property">property</span>; | |||||
<span class="comment">/** | |||||
* An integer property type. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">int</span> <span class="variable-name" id="type">type</span>; | |||||
<span class="comment">/** | |||||
* The PropertyConsts singleton. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">PropertyConsts</span> <span class="variable-name" id="propertyConsts">propertyConsts</span>; | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="index">index</span><span class="comment"> index of the property in the property arrays. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">type</span><span class="comment"> of this value | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="function-name" id="AbstractPropertyValue">AbstractPropertyValue</span>(<span class="type">int</span> <span class="variable-name">index</span>, <span class="type">int</span> <span class="variable-name">type</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="keyword">if</span> (index < <span class="jde-java-font-lock-number">1</span> || index > PropNames.<span class="jde-java-font-lock-constant" id="LAST_PROPERTY_INDEX">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + index); | |||||
<span class="keyword">if</span> (type < <span class="jde-java-font-lock-number">0</span> || type > PropertyValue.<span class="jde-java-font-lock-constant" id="LAST_PROPERTY_TYPE">LAST_PROPERTY_TYPE</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property type: </span>" + type); | |||||
property = index; | |||||
<span class="keyword">this</span>.type = type; | |||||
propertyConsts = PropertyConsts.getPropertyConsts(); | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="propertyName">propertyName</span><span class="comment"> a <tt>String</tt> containing the property name. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="function-name">AbstractPropertyValue</span>(<span class="type">String</span> <span class="variable-name">propertyName</span>, <span class="type">int</span> <span class="variable-name">type</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
propertyConsts = PropertyConsts.getPropertyConsts(); | |||||
property = PropNames.getPropertyIndex(propertyName); | |||||
<span class="keyword">if</span> (property < <span class="jde-java-font-lock-number">1</span> || property > PropNames.<span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + property); | |||||
<span class="keyword">if</span> (type < <span class="jde-java-font-lock-number">0</span> || type > PropertyValue.<span class="jde-java-font-lock-constant">LAST_PROPERTY_TYPE</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property type: </span>" + type); | |||||
<span class="keyword">this</span>.type = type; | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> <tt>int</tt> property index. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getProperty">getProperty</span>() { | |||||
<span class="keyword">return</span> property; | |||||
} | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="setProperty">setProperty</span>(<span class="type">int</span> <span class="variable-name">index</span>) <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
<span class="keyword">if</span> (index < <span class="jde-java-font-lock-number">0</span> || index > PropNames.<span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + index); | |||||
property = index; | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> type field of the <tt>PropertyValue</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getType">getType</span>() { | |||||
<span class="keyword">return</span> type; | |||||
} | |||||
<span class="comment">/** | |||||
* In some circumstances, the property against which a type is to be | |||||
* validated may not be the same as the property against which this | |||||
* <i></span><span class="jde-java-font-lock-italic">AbstractPropertyValue</span><span class="comment"></i> is defined. | |||||
* A specific property argument is then required. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="testProperty">testProperty</span><span class="comment"> <tt>int</tt> property index of the property | |||||
* for which the type is to be validated. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">type</span><span class="comment"> <tt>int</tt> bitmap of data types to check for | |||||
* validity against this property. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="validate">validate</span>(<span class="type">int</span> <span class="variable-name">testProperty</span>, <span class="type">int</span> <span class="variable-name">type</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="comment">// N.B. PROPERTY_SPECIFIC inheritance may require more specialized | |||||
</span> <span class="comment">// checks. Only line-height comes into this category. | |||||
</span> | |||||
<span class="comment">// N.B. The first commented-out condition means that I cannot validate | |||||
</span> <span class="comment">// unless the property is NOT inherited. | |||||
</span> <span class="comment">// I can't remember why I put this | |||||
</span> <span class="comment">// condition in here. Removing it. pbw 2002/02/18 | |||||
</span> <span class="comment">//if (propertyConsts.inherited.get(testProperty) == Property.NO | |||||
</span> <span class="comment">//&& (propertyConsts.getDataTypes(testProperty) & type) == 0) { | |||||
</span> | |||||
<span class="keyword">if</span> ((propertyConsts.getDataTypes(testProperty) & type) == <span class="jde-java-font-lock-number">0</span>) { | |||||
<span class="type">String</span> <span class="variable-name" id="pname">pname</span> = PropNames.getPropertyName(testProperty); | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> | |||||
("<span class="string">Datatype(s) </span>" + | |||||
Property.listDataTypes(type) + | |||||
"<span class="string"> not defined on </span>" + pname); | |||||
} | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">type</span><span class="comment"> <tt>int</tt> bitmap of data types to check for | |||||
* validity against this property. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name">validate</span>(<span class="type">int</span> <span class="variable-name">type</span>) <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
<span class="comment">// N.B. PROPERTY_SPECIFIC inheritance may require more specialized | |||||
</span> <span class="comment">// checks. Only line-height comes into this category. | |||||
</span> validate(property, type); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">String</span> <span class="function-name" id="typeString">typeString</span>(<span class="type">int</span> <span class="variable-name">type</span>) { | |||||
<span class="keyword">if</span> (type < <span class="jde-java-font-lock-number">0</span> || type >PropertyValue.<span class="jde-java-font-lock-constant">LAST_PROPERTY_TYPE</span>) | |||||
<span class="keyword">return</span> "<span class="string">Property type out of range</span>"; | |||||
<span class="keyword">return</span> PropertyValue.propertyTypes.get(type); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">String</span> <span class="function-name" id="toString">toString</span>() { | |||||
<span class="keyword">try</span> { | |||||
<span class="keyword">return</span> "<span class="string">Property: </span>" + PropNames.getPropertyName(property) | |||||
+ "<span class="string"> Index: </span>" + property + "<span class="string"> Type: </span>" + | |||||
typeString(type); | |||||
} <span class="keyword">catch</span> (<span class="type">PropertyException</span> <span class="variable-name" id="e">e</span>) { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">RuntimeException</span>(e.getMessage()); | |||||
} | |||||
} | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">Object</span> <span class="function-name" id="clone">clone</span>() <span class="keyword">throws</span> <span class="type">CloneNotSupportedException</span> { | |||||
<span class="keyword">return</span> <span class="keyword">super</span>.clone(); | |||||
} | |||||
} | |||||
</pre> | |||||
</body> | |||||
</html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> | |||||
<!-- Created by htmlize-0.67 in css mode. --> | |||||
<html> | |||||
<head> | |||||
<title>FOAttributes.java</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
color: #000000; | |||||
background-color: #faf0e6; | |||||
} /* default */ | |||||
.jde-java-font-lock-number { | |||||
color: #bc8f8f; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-number-face */ | |||||
.function-name { | |||||
color: #8b2323; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-function-name-face */ | |||||
.jde-java-font-lock-italic { | |||||
background-color: #faf0e6; | |||||
font-style: italic; | |||||
} /* jde-java-font-lock-italic-face */ | |||||
.jde-java-font-lock-modifier { | |||||
color: #da70d6; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-modifier-face */ | |||||
.keyword { | |||||
color: #8b0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-keyword-face */ | |||||
.variable-name { | |||||
color: #8b008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-variable-name-face */ | |||||
.string { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-string-face */ | |||||
.jde-java-font-lock-package { | |||||
color: #0000cd; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-package-face */ | |||||
.jde-java-font-lock-constant { | |||||
color: #5f9ea0; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-constant-face */ | |||||
.type { | |||||
color: #4682b4; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-type-face */ | |||||
.jde-java-font-lock-doc-tag { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-doc-tag-face */ | |||||
.comment { | |||||
color: #00008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-comment-face */ | |||||
.reference { | |||||
color: #cd0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-reference-face */ | |||||
a { | |||||
color: inherit; | |||||
background-color: inherit; | |||||
font: inherit; | |||||
text-decoration: inherit; | |||||
} | |||||
a:hover { | |||||
text-decoration: underline; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<pre> | |||||
<span class="keyword">package</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">apps</span>.<span class="type">FOPException</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">expr</span>.<span class="type">PropertyException</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">PropertyConsts</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">FObjectNames</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">Ints</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">messaging</span>.<span class="type">MessageHandler</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">xml</span>.<span class="type">FoXMLEvent</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">xml</span>.<span class="type">XMLNamespaces</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">xml</span>.<span class="jde-java-font-lock-package">sax</span>.<span class="type">Attributes</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">Iterator</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">ArrayList</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">HashMap</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">List</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">Map</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">Collections</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">Arrays</span>; | |||||
<span class="comment">/* | |||||
* FOAttributes.java | |||||
* $Id$ | |||||
* | |||||
* Created: Wed Nov 14 15:19:51 2001 | |||||
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved. | |||||
* For details on use and redistribution please refer to the | |||||
* LICENSE file included with these sources. | |||||
* | |||||
* @author <a href="mailto:pbwest@powerup.com.au">Peter B. West</a> | |||||
* @version $Revision$ $Name$ | |||||
*/</span> | |||||
<span class="comment">/** | |||||
* The FO Attributes data structures and methods needed to manage the | |||||
* Attributes associated with FO nodes. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="keyword">class</span> <span class="function-name" id="FOAttributesClass">FOAttributes</span> { | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="tag">tag</span> = "<span class="string">$Name$</span>"; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="revision">revision</span> = "<span class="string">$Revision$</span>"; | |||||
<span class="comment">/** | |||||
* <i></span><span class="jde-java-font-lock-italic">nSpaceAttrMaps</span><span class="comment"></i> is an <tt>ArrayList</tt> to hold the array of | |||||
* <tt>HashMap</tt>s which contain the attribute lists for each | |||||
* namespace which may be active for a particular FO element. The | |||||
* <tt>ArrayList</tt> is indexed by the URIIndex for this namespace | |||||
* which is maintained in an <tt>XMLNamespaces</tt> object by the | |||||
* <tt>FOTree</tt> object which is processing the FO input. The | |||||
* values in the <tt>HashMap</tt>s are indexed by the local name of the | |||||
* attribute. | |||||
* The <tt>ArrayList</tt> will not be created for a particular instance | |||||
* of <tt>FOAttributes</tt> unless a namespace other than the standard | |||||
* XSL namespace is activated for this instance. | |||||
* See <i></span><span class="jde-java-font-lock-italic">foAttrMap</span><span class="comment"></i>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">ArrayList</span> <span class="variable-name" id="nSpaceAttrMaps">nSpaceAttrMaps</span>; | |||||
<span class="comment">/** | |||||
* <i></span><span class="jde-java-font-lock-italic">foAttrMap</span><span class="comment"></i> is a <tt>HashMap</tt> to hold the FO namespace | |||||
* attribute list specified in the FO element with which this list is | |||||
* associated. The <tt>String</tt> attribute value is stored | |||||
* indexed by the integer constant property identifier from | |||||
* <tt>PropertyConsts</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">HashMap</span> <span class="variable-name" id="foAttrMap">foAttrMap</span> = <span class="keyword">new</span> <span class="type">HashMap</span>(<span class="jde-java-font-lock-number">0</span>); | |||||
<span class="comment">/** | |||||
* A sorted array of the keys (property indices) of the values in | |||||
* <i></span><span class="jde-java-font-lock-italic">foAttrMap</span><span class="comment"></i>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">Integer</span>[] <span class="variable-name" id="foAttrKeys">foAttrKeys</span> = <span class="jde-java-font-lock-constant" id="null">null</span>; | |||||
<span class="comment">/** | |||||
* A static array of <tt>Integer</tt> as a template for the generation | |||||
* of the <i></span><span class="jde-java-font-lock-italic">foAttrKeys</span><span class="comment"></i> array. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">Integer</span>[] <span class="variable-name" id="integerArray">integerArray</span> | |||||
= <span class="keyword">new</span> <span class="type">Integer</span>[] { Ints.consts.get(<span class="jde-java-font-lock-number">0</span>) }; | |||||
<span class="comment">/** | |||||
* Construct an <i></span><span class="jde-java-font-lock-italic">FOAttributes</span><span class="comment"></i> object. | |||||
* <p>The <tt>Attributes</tt> object on the event is scanned, and each | |||||
* attribute is examined. If the attribute is in the default namespace | |||||
* for fo: attributes, it is an fo: property, and its value is entered | |||||
* into the <i></span><span class="jde-java-font-lock-italic">foAttrMap</span><span class="comment"></i> <tt>Hashmap</tt> indexed by the property | |||||
* index. | |||||
* <p>If the attribute does not belong to the default namespace, its | |||||
* value is entered into the appropriate <tt>HashMap</tt> in the | |||||
* <tt>ArrayList</tt> <i></span><span class="jde-java-font-lock-italic">nSpaceAttrMaps</span><span class="comment"></i>, indexed by the attribute's | |||||
* local name. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="event">event</span><span class="comment"> - the FO XML event which triggered construction of the | |||||
* parent <tt>FONode</tt>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="foNode">foNode</span><span class="comment"> - the <tt>FONode</tt> with which these attributes are | |||||
* associated. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="function-name" id="FOAttributes">FOAttributes</span>(<span class="type">FoXMLEvent</span> <span class="variable-name">event</span>, <span class="type">FONode</span> <span class="variable-name">foNode</span>) <span class="keyword">throws</span> <span class="type">FOPException</span> { | |||||
<span class="comment">// If the event is null, there is no event associated with this | |||||
</span> <span class="comment">// node, probably because this is a manufactured node; e.g., | |||||
</span> <span class="comment">// an "invented" FopageSequenceMaster. The default initialisation | |||||
</span> <span class="comment">// includes an empty foAttrMap HashMap. | |||||
</span> <span class="keyword">if</span> (event == <span class="jde-java-font-lock-constant">null</span>) <span class="keyword">return</span>; | |||||
<span class="keyword">if</span> (event.getFoType() == FObjectNames.<span class="jde-java-font-lock-constant" id="PCDATA">PCDATA</span>) | |||||
<span class="keyword">return</span>; <span class="comment">// go with the empty foAttrMap | |||||
</span> | |||||
<span class="comment">// Create the foAttrMap. | |||||
</span> <span class="type">Attributes</span> <span class="variable-name" id="attributes">attributes</span> = event.getAttributes(); | |||||
<span class="keyword">if</span> (attributes == <span class="jde-java-font-lock-constant">null</span>) <span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">FOPException</span> | |||||
("<span class="string">No Attributes in XMLEvent</span>"); | |||||
<span class="type">int</span> <span class="variable-name" id="propIndex">propIndex</span>; | |||||
<span class="type">HashMap</span> <span class="variable-name" id="tmpHash">tmpHash</span>; | |||||
<span class="keyword">for</span> (<span class="type">int</span> <span class="variable-name" id="i">i</span> = <span class="jde-java-font-lock-number">0</span>; i < attributes.getLength(); i++) { | |||||
<span class="type">String</span> <span class="variable-name" id="attrUri">attrUri</span> = attributes.getURI(i); | |||||
<span class="type">String</span> <span class="variable-name" id="attrLocalname">attrLocalname</span> = attributes.getLocalName(i); | |||||
<span class="type">String</span> <span class="variable-name" id="attrQName">attrQName</span> = attributes.getQName(i); | |||||
<span class="type">int</span> <span class="variable-name" id="sep">sep</span> = attrQName.indexOf('<span class="string">:</span>'); | |||||
<span class="type">String</span> <span class="variable-name" id="prefix">prefix</span> = attrQName.substring(<span class="jde-java-font-lock-number">0</span>, (sep == -<span class="jde-java-font-lock-number">1</span> ? <span class="jde-java-font-lock-number">0</span> : sep)); | |||||
<span class="keyword">if</span> (prefix.equals("<span class="string">xmlns</span>")) <span class="keyword">break</span>; | |||||
<span class="type">String</span> <span class="variable-name" id="attrValue">attrValue</span> = attributes.getValue(i); | |||||
<span class="type">int</span> <span class="variable-name" id="attrUriIndex">attrUriIndex</span> = foNode.namespaces.getURIIndex(attrUri); | |||||
<span class="comment">//System.out.println("FONode:" + event); | |||||
</span> <span class="keyword">if</span> (attrUriIndex == XMLNamespaces.DefAttrNSIndex) { | |||||
<span class="comment">// Standard FO namespace | |||||
</span> <span class="comment">// Catch default namespace declaration here. | |||||
</span> <span class="keyword">if</span> (attrLocalname.equals("<span class="string">xmlns</span>")) <span class="keyword">break</span>; | |||||
<span class="comment">// Is this a known (valid) property? | |||||
</span> propIndex = PropNames.getPropertyIndex(attrLocalname); | |||||
<span class="comment">// Known attribute name | |||||
</span> foAttrMap.put(Ints.consts.get(propIndex), attrValue); | |||||
} <span class="keyword">else</span> { <span class="comment">// Not the XSL FO namespace | |||||
</span> <span class="type">int</span> <span class="variable-name" id="j">j</span>; | |||||
<span class="keyword">if</span> (nSpaceAttrMaps == <span class="jde-java-font-lock-constant">null</span>) { | |||||
<span class="comment">//Create the list | |||||
</span> System.out.println("<span class="string">Creating nSpaceAttrMaps</span>"); | |||||
nSpaceAttrMaps = <span class="keyword">new</span> <span class="type">ArrayList</span>(attrUriIndex + <span class="jde-java-font-lock-number">1</span>); | |||||
<span class="comment">// Add the fo list | |||||
</span> <span class="keyword">for</span> (j = <span class="jde-java-font-lock-number">0</span>; j < XMLNamespaces.DefAttrNSIndex; j++) | |||||
nSpaceAttrMaps.add(<span class="keyword">new</span> <span class="type">HashMap</span>(<span class="jde-java-font-lock-number">0</span>)); | |||||
System.out.println("<span class="string">Adding foAttrMap</span>"); | |||||
nSpaceAttrMaps.add(foAttrMap); | |||||
} | |||||
<span class="comment">// Make sure there are elements between the last current | |||||
</span> <span class="comment">// and the one to be added | |||||
</span> <span class="keyword">for</span> (j = nSpaceAttrMaps.size(); j <= attrUriIndex; j++) | |||||
nSpaceAttrMaps.add(<span class="keyword">new</span> <span class="type">HashMap</span>(<span class="jde-java-font-lock-number">0</span>)); | |||||
<span class="comment">// Does a HashMap exist for this namespace? | |||||
</span> <span class="keyword">if</span> ((tmpHash = | |||||
(<span class="type">HashMap</span>)nSpaceAttrMaps.get(attrUriIndex)) == <span class="jde-java-font-lock-constant">null</span>) { | |||||
tmpHash = <span class="keyword">new</span> <span class="type">HashMap</span>(<span class="jde-java-font-lock-number">1</span>); | |||||
nSpaceAttrMaps.set(attrUriIndex, tmpHash); | |||||
} | |||||
<span class="comment">// Now put this value in the HashMap | |||||
</span> tmpHash.put(attrLocalname, attrValue); | |||||
} | |||||
} | |||||
<span class="comment">// Set up the sorted array of the foAttr keys, if foAttrMap has | |||||
</span> <span class="comment">// any entries. | |||||
</span> <span class="keyword">if</span> (foAttrMap.size() > <span class="jde-java-font-lock-number">0</span>) { | |||||
foAttrKeys = (<span class="type">Integer</span>[])(foAttrMap.keySet().toArray(integerArray)); | |||||
Arrays.sort(foAttrKeys); | |||||
} | |||||
<span class="comment">// Finished with the Attributes object | |||||
</span> event.setAttributes(<span class="jde-java-font-lock-constant">null</span>); | |||||
} | |||||
<span class="comment">/** | |||||
* Get the default namespace attribute values as an unmodifiable | |||||
* <tt>Map</tt>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a unmodifiable <tt>Map</tt> containing the the attribute | |||||
* values for all of the default attribute namespace attributes in this | |||||
* attribute list, indexed by the property name index from | |||||
* <tt>PropNames</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">Map</span> <span class="function-name" id="getFixedFoAttrMap">getFixedFoAttrMap</span>() { | |||||
<span class="keyword">return</span> Collections.unmodifiableMap((<span class="type">Map</span>)foAttrMap); | |||||
} | |||||
<span class="comment">/** | |||||
* Get the <tt>HashMap</tt> of all default namespace attributes. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> <tt>HashMap</tt> <i></span><span class="jde-java-font-lock-italic">foAttrMap</span><span class="comment"></i> containing the the attribute | |||||
* values for all of the default attribute namespace attributes in this | |||||
* attribute list, indexed by the property name index from | |||||
* <tt>PropNames</tt>. This HashMap may be changed by the calling | |||||
* process. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">HashMap</span> <span class="function-name" id="getFoAttrMap">getFoAttrMap</span>() { | |||||
<span class="keyword">return</span> foAttrMap; | |||||
} | |||||
<span class="comment">/** | |||||
* Get the sorted array of property index keys for the default namespace | |||||
* attributes. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> <tt>Integer[]</tt> <i></span><span class="jde-java-font-lock-italic">foAttrKeys</span><span class="comment"></i> containing the the | |||||
* sorted keys (the property indices from <tt>PropNames</tt>) of the | |||||
* attribute values for all of the default attribute namespace attributes | |||||
* in this attribute list. | |||||
* Warning: This array may be changed by the calling process. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">Integer</span>[] <span class="function-name" id="getFoAttrKeys">getFoAttrKeys</span>() { | |||||
<span class="keyword">return</span> foAttrKeys; | |||||
} | |||||
<span class="comment">/** | |||||
* A convenience method for accessing attribute values from the default | |||||
* attribute namespace. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="property">property</span><span class="comment"> an <tt>int</tt> containing the property name index | |||||
* from <tt>PropNames</tt>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a <tt>String</tt> containing the associated property value. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">String</span> <span class="function-name" id="getFoAttrValue">getFoAttrValue</span>(<span class="type">int</span> <span class="variable-name">property</span>) { | |||||
<span class="keyword">return</span> (<span class="type">String</span>)(foAttrMap.get(Ints.consts.get(property))); | |||||
} | |||||
<span class="comment">/** | |||||
* A convenience method for accessing attribute values from the default | |||||
* attribute namespace. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="propertyName">propertyName</span><span class="comment"> a <tt>String</tt> containing the property name. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a <tt>String</tt> containing the associated property value. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">String</span> <span class="function-name">getFoAttrValue</span>(<span class="type">String</span> <span class="variable-name">propertyName</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="keyword">return</span> getFoAttrValue(PropNames.getPropertyIndex(propertyName)); | |||||
} | |||||
<span class="comment">/** | |||||
* Get an unmodifiable <tt>Map</tt> of the attribute values for a | |||||
* particular namespace. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="uriIndex">uriIndex</span><span class="comment"> an <tt>int</tt> containing the index of the attribute | |||||
* values namespace, maintained in an <tt>XMLEvent</tt> <tt>static</tt> | |||||
* array. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> an unmodifiable <tt>Map</tt> of the attribute values | |||||
* within the indexed namespace, for this attribute list, indexed by the | |||||
* local name of the attribute. The <tt>Map</tt> returned is | |||||
* derived from the one maintained in <i></span><span class="jde-java-font-lock-italic">nSpaceAttrMaps</span><span class="comment"></i>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">Map</span> <span class="function-name" id="getAttrMap">getAttrMap</span>(<span class="type">int</span> <span class="variable-name">uriIndex</span>) { | |||||
<span class="keyword">if</span> (uriIndex == XMLNamespaces.DefAttrNSIndex) | |||||
<span class="keyword">return</span> Collections.unmodifiableMap((<span class="type">Map</span>)foAttrMap); | |||||
<span class="keyword">if</span> (nSpaceAttrMaps != <span class="jde-java-font-lock-constant">null</span>) { | |||||
<span class="keyword">if</span> (uriIndex >= nSpaceAttrMaps.size()) <span class="keyword">return</span> <span class="jde-java-font-lock-constant">null</span>; | |||||
<span class="keyword">return</span> Collections.unmodifiableMap | |||||
((<span class="type">Map</span>)(nSpaceAttrMaps.get(uriIndex))); | |||||
} <span class="keyword">else</span> { | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">null</span>; | |||||
} | |||||
} | |||||
<span class="comment">/** | |||||
* Get the value of an attribute in a particular namespace. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">uriIndex</span><span class="comment"> an <tt>int</tt> index of the URIs maintained | |||||
* by <tt>XMLEvent</tt>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="localName">localName</span><span class="comment"> a <tt>String</tt> with the local name of the | |||||
* attribute. In the case of the default attribute namespace, this | |||||
* will be the fo property name. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a <tt>String</tt> containing the value of the attribute. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">String</span> <span class="function-name" id="getUriAttrValue">getUriAttrValue</span>(<span class="type">int</span> <span class="variable-name">uriIndex</span>, <span class="type">String</span> <span class="variable-name">localName</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="keyword">if</span> (uriIndex == XMLNamespaces.DefAttrNSIndex) | |||||
<span class="keyword">return</span> getFoAttrValue(PropNames.getPropertyIndex(localName)); | |||||
<span class="keyword">return</span> (String) | |||||
(((<span class="type">HashMap</span>)nSpaceAttrMaps.get(uriIndex)).get(localName)); | |||||
} | |||||
<span class="comment">/** | |||||
* Get the size of the <i></span><span class="jde-java-font-lock-italic">foAttrMap</span><span class="comment"></i> <tt>HashMap</tt> | |||||
* containing attributes for the default fo: namespace | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> an <tt>int</tt> containing the size. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getFoAttrMapSize">getFoAttrMapSize</span>() { | |||||
<span class="keyword">return</span> foAttrMap.size(); | |||||
} | |||||
<span class="comment">/** | |||||
* Get the size of the <i></span><span class="jde-java-font-lock-italic">nSpaceAttrMaps</span><span class="comment"></i> <tt>ArrayList</tt> | |||||
* containing attribute namespaces active in this set of attributes. | |||||
* <i></span><span class="jde-java-font-lock-italic">N.B.</span><span class="comment"></i> this may be zero if only the default attribute | |||||
* namespace has been seen in the attribute set. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> an <tt>int</tt> containing the size. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getNSpaceAttrMapsSize">getNSpaceAttrMapsSize</span>() { | |||||
<span class="keyword">if</span> (nSpaceAttrMaps == <span class="jde-java-font-lock-constant">null</span>) | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-number">0</span>; | |||||
<span class="keyword">return</span> nSpaceAttrMaps.size(); | |||||
} | |||||
<span class="comment">/** | |||||
* Merge attributes from another <tt>FOAttributes</tt> into <i></span><span class="jde-java-font-lock-italic">this</span><span class="comment"></i>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="foAttrs">foAttrs</span><span class="comment"> the <tt>FOAttributes</tt> containing the attributes | |||||
* to merge. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="merge">merge</span>(<span class="type">FOAttributes</span> <span class="variable-name">foAttrs</span>) { | |||||
foAttrMap.putAll(foAttrs.getFoAttrMap()); | |||||
<span class="type">int</span> <span class="variable-name" id="attrLen">attrLen</span> = foAttrs.getNSpaceAttrMapsSize(); | |||||
<span class="keyword">if</span> (attrLen != <span class="jde-java-font-lock-number">0</span>) { | |||||
<span class="comment">// something to copy | |||||
</span> <span class="keyword">if</span> (nSpaceAttrMaps == <span class="jde-java-font-lock-constant">null</span>) { | |||||
<span class="comment">// no "foreign" attribute lists in this | |||||
</span> <span class="comment">// copy the others in | |||||
</span> nSpaceAttrMaps = <span class="keyword">new</span> <span class="type">ArrayList</span>(attrLen); | |||||
} | |||||
<span class="comment">// If the merging ArrayList of namespaces is larger, add the | |||||
</span> <span class="comment">// extra elements and initialise each to an empty HashMap | |||||
</span> <span class="keyword">for</span> (<span class="type">int</span> <span class="variable-name">i</span> = nSpaceAttrMaps.size(); i < attrLen; i++) | |||||
nSpaceAttrMaps.add(<span class="keyword">new</span> <span class="type">HashMap</span>(<span class="jde-java-font-lock-number">0</span>)); | |||||
<span class="comment">// Except for foAttrs, which has already been merged, merge | |||||
</span> <span class="comment">// the entries from the merging foAttrs | |||||
</span> <span class="keyword">for</span> (<span class="type">int</span> <span class="variable-name">i</span> = <span class="jde-java-font-lock-number">0</span>; i < attrLen; i++) { | |||||
<span class="comment">// skip foAttrMap | |||||
</span> <span class="keyword">if</span> (i == <span class="reference">XMLNamespaces</span>.<span class="type">DefAttrNSIndex</span>) <span class="keyword">continue</span>; | |||||
((<span class="type">HashMap</span>) nSpaceAttrMaps.get(i)) | |||||
.putAll(foAttrs.getAttrMap(i)); | |||||
} | |||||
} | |||||
} | |||||
}<span class="comment">// FOAttributes | |||||
</span></pre> | |||||
</body> | |||||
</html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> | |||||
<!-- Created by htmlize-0.67 in css mode. --> | |||||
<html> | |||||
<head> | |||||
<title>PropNames.java</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
color: #000000; | |||||
background-color: #faf0e6; | |||||
} /* default */ | |||||
.function-name { | |||||
color: #8b2323; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-function-name-face */ | |||||
.jde-java-font-lock-italic { | |||||
background-color: #faf0e6; | |||||
font-style: italic; | |||||
} /* jde-java-font-lock-italic-face */ | |||||
.jde-java-font-lock-modifier { | |||||
color: #da70d6; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-modifier-face */ | |||||
.keyword { | |||||
color: #8b0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-keyword-face */ | |||||
.variable-name { | |||||
color: #8b008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-variable-name-face */ | |||||
.string { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-string-face */ | |||||
.jde-java-font-lock-package { | |||||
color: #0000cd; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-package-face */ | |||||
.jde-java-font-lock-constant { | |||||
color: #5f9ea0; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-constant-face */ | |||||
.type { | |||||
color: #4682b4; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-type-face */ | |||||
.jde-java-font-lock-doc-tag { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-doc-tag-face */ | |||||
.comment { | |||||
color: #00008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-comment-face */ | |||||
.jde-java-font-lock-number { | |||||
color: #bc8f8f; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-number-face */ | |||||
a { | |||||
color: inherit; | |||||
background-color: inherit; | |||||
font: inherit; | |||||
text-decoration: inherit; | |||||
} | |||||
a:hover { | |||||
text-decoration: underline; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<pre> | |||||
<span class="comment">/* | |||||
* $Id$ | |||||
* Copyright (C) 2001-2002 The Apache Software Foundation. All rights reserved. | |||||
* For details on use and redistribution please refer to the | |||||
* LICENSE file included with these sources. | |||||
* @author <a href="mailto:pbwest@powerup.com.au">Peter B. West</a> | |||||
* @version $Revision$ $Name$ | |||||
*/</span> | |||||
<span class="keyword">package</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">HashMap</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">expr</span>.<span class="type">PropertyException</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">Ints</span>; | |||||
<span class="comment">/** | |||||
* A class of constants; an array of all property names and the constants | |||||
* by which to refer to them. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="keyword">class</span> <span class="function-name" id="PropNamesClass">PropNames</span> { | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="tag">tag</span> = "<span class="string">$Name$</span>"; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="revision">revision</span> = "<span class="string">$Revision$</span>"; | |||||
<span class="comment">/* | |||||
* List of property constants in property processing order - | |||||
* FONT, FONT_SIZE first | |||||
* Shorthands must precede any of their expansion elements. | |||||
* Compounds must precede any of their components. | |||||
* The list of property constants can be regenerated in XEmacs by setting | |||||
* the region on the list of constants. (C-Space at the beginning, | |||||
* move to last line, C-x C-x to exchange mark and point.) Then run | |||||
* a shell command on the region with replacement (M-1 M-|). Use | |||||
* the perl command: | |||||
* perl -p -e 'BEGIN{$n=0};$n++ if s/= [0-9]+,/= $n,/' | |||||
* Alternatively, start at a given point in the list by setting the | |||||
* appropriate start value for $n. | |||||
* | |||||
* in vi, set mark `</span><span class="jde-java-font-lock-doc-tag">a</span><span class="comment">' at the last line and | |||||
* !'aperl... etc | |||||
*/</span> | |||||
<span class="comment">/** Constant for matching property defined in <i></span><span class="jde-java-font-lock-italic">XSLFO</span><span class="comment"></i>. */</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">int</span> | |||||
<span class="jde-java-font-lock-constant" id="NO_PROPERTY">NO_PROPERTY</span> = <span class="jde-java-font-lock-number">0</span>, | |||||
<span class="comment">// Properties setting up environment for from-table-column(), | |||||
</span> <span class="comment">// e.g. font-size = from-table-column() | |||||
</span> <span class="jde-java-font-lock-constant" id="COLUMN_NUMBER">COLUMN_NUMBER</span> = <span class="jde-java-font-lock-number">1</span>, | |||||
<span class="jde-java-font-lock-constant" id="NUMBER_COLUMNS_SPANNED">NUMBER_COLUMNS_SPANNED</span> = <span class="jde-java-font-lock-number">2</span>, | |||||
<span class="comment">// Properties setting font-size first | |||||
</span> <span class="comment">// Shorthand first | |||||
</span> <span class="jde-java-font-lock-constant" id="FONT">FONT</span> = <span class="jde-java-font-lock-number">3</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_SIZE">FONT_SIZE</span> = <span class="jde-java-font-lock-number">4</span>, | |||||
<span class="comment">// Writing mode early for handling of corresponding values | |||||
</span> <span class="jde-java-font-lock-constant" id="WRITING_MODE">WRITING_MODE</span> = <span class="jde-java-font-lock-number">5</span>, | |||||
<span class="comment">// All other shorthands | |||||
</span> <span class="jde-java-font-lock-constant" id="BACKGROUND">BACKGROUND</span> = <span class="jde-java-font-lock-number">6</span>, | |||||
<span class="jde-java-font-lock-constant" id="BACKGROUND_POSITION">BACKGROUND_POSITION</span> = <span class="jde-java-font-lock-number">7</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER">BORDER</span> = <span class="jde-java-font-lock-number">8</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_COLOR">BORDER_COLOR</span> = <span class="jde-java-font-lock-number">9</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_STYLE">BORDER_STYLE</span> = <span class="jde-java-font-lock-number">10</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_WIDTH">BORDER_WIDTH</span> = <span class="jde-java-font-lock-number">11</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM">BORDER_BOTTOM</span> = <span class="jde-java-font-lock-number">12</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_LEFT">BORDER_LEFT</span> = <span class="jde-java-font-lock-number">13</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_RIGHT">BORDER_RIGHT</span> = <span class="jde-java-font-lock-number">14</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_TOP">BORDER_TOP</span> = <span class="jde-java-font-lock-number">15</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_SPACING">BORDER_SPACING</span> = <span class="jde-java-font-lock-number">16</span>, | |||||
<span class="jde-java-font-lock-constant" id="CUE">CUE</span> = <span class="jde-java-font-lock-number">17</span>, | |||||
<span class="jde-java-font-lock-constant" id="MARGIN">MARGIN</span> = <span class="jde-java-font-lock-number">18</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING">PADDING</span> = <span class="jde-java-font-lock-number">19</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAGE_BREAK_AFTER">PAGE_BREAK_AFTER</span> = <span class="jde-java-font-lock-number">20</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAGE_BREAK_BEFORE">PAGE_BREAK_BEFORE</span> = <span class="jde-java-font-lock-number">21</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAGE_BREAK_INSIDE">PAGE_BREAK_INSIDE</span> = <span class="jde-java-font-lock-number">22</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAUSE">PAUSE</span> = <span class="jde-java-font-lock-number">23</span>, | |||||
<span class="jde-java-font-lock-constant" id="POSITION">POSITION</span> = <span class="jde-java-font-lock-number">24</span>, | |||||
<span class="jde-java-font-lock-constant" id="SIZE">SIZE</span> = <span class="jde-java-font-lock-number">25</span>, | |||||
<span class="jde-java-font-lock-constant" id="VERTICAL_ALIGN">VERTICAL_ALIGN</span> = <span class="jde-java-font-lock-number">26</span>, | |||||
<span class="jde-java-font-lock-constant" id="WHITE_SPACE">WHITE_SPACE</span> = <span class="jde-java-font-lock-number">27</span>, | |||||
<span class="jde-java-font-lock-constant" id="XML_LANG">XML_LANG</span> = <span class="jde-java-font-lock-number">28</span>, | |||||
<span class="comment">// Non-shorthand properties | |||||
</span> <span class="comment">// Within these, compounds precede their components | |||||
</span> <span class="comment">// and corresponding relative properties | |||||
</span> <span class="comment">// precede corresponding absolute properties | |||||
</span> <span class="jde-java-font-lock-constant" id="ABSOLUTE_POSITION">ABSOLUTE_POSITION</span> = <span class="jde-java-font-lock-number">29</span>, | |||||
<span class="jde-java-font-lock-constant" id="ACTIVE_STATE">ACTIVE_STATE</span> = <span class="jde-java-font-lock-number">30</span>, | |||||
<span class="jde-java-font-lock-constant" id="ALIGNMENT_ADJUST">ALIGNMENT_ADJUST</span> = <span class="jde-java-font-lock-number">31</span>, | |||||
<span class="jde-java-font-lock-constant" id="ALIGNMENT_BASELINE">ALIGNMENT_BASELINE</span> = <span class="jde-java-font-lock-number">32</span>, | |||||
<span class="jde-java-font-lock-constant" id="AUTO_RESTORE">AUTO_RESTORE</span> = <span class="jde-java-font-lock-number">33</span>, | |||||
<span class="jde-java-font-lock-constant" id="AZIMUTH">AZIMUTH</span> = <span class="jde-java-font-lock-number">34</span>, | |||||
<span class="jde-java-font-lock-constant" id="BACKGROUND_ATTACHMENT">BACKGROUND_ATTACHMENT</span> = <span class="jde-java-font-lock-number">35</span>, | |||||
<span class="jde-java-font-lock-constant" id="BACKGROUND_COLOR">BACKGROUND_COLOR</span> = <span class="jde-java-font-lock-number">36</span>, | |||||
<span class="jde-java-font-lock-constant" id="BACKGROUND_IMAGE">BACKGROUND_IMAGE</span> = <span class="jde-java-font-lock-number">37</span>, | |||||
<span class="jde-java-font-lock-constant" id="BACKGROUND_POSITION_HORIZONTAL">BACKGROUND_POSITION_HORIZONTAL</span> = <span class="jde-java-font-lock-number">38</span>, | |||||
<span class="jde-java-font-lock-constant" id="BACKGROUND_POSITION_VERTICAL">BACKGROUND_POSITION_VERTICAL</span> = <span class="jde-java-font-lock-number">39</span>, | |||||
<span class="jde-java-font-lock-constant" id="BACKGROUND_REPEAT">BACKGROUND_REPEAT</span> = <span class="jde-java-font-lock-number">40</span>, | |||||
<span class="jde-java-font-lock-constant" id="BASELINE_SHIFT">BASELINE_SHIFT</span> = <span class="jde-java-font-lock-number">41</span>, | |||||
<span class="jde-java-font-lock-constant" id="BLANK_OR_NOT_BLANK">BLANK_OR_NOT_BLANK</span> = <span class="jde-java-font-lock-number">42</span>, | |||||
<span class="jde-java-font-lock-constant" id="BLOCK_PROGRESSION_DIMENSION">BLOCK_PROGRESSION_DIMENSION</span> = <span class="jde-java-font-lock-number">43</span>, | |||||
<span class="jde-java-font-lock-constant" id="BLOCK_PROGRESSION_DIMENSION_MINIMUM">BLOCK_PROGRESSION_DIMENSION_MINIMUM</span> = <span class="jde-java-font-lock-number">44</span>, | |||||
<span class="jde-java-font-lock-constant" id="BLOCK_PROGRESSION_DIMENSION_OPTIMUM">BLOCK_PROGRESSION_DIMENSION_OPTIMUM</span> = <span class="jde-java-font-lock-number">45</span>, | |||||
<span class="jde-java-font-lock-constant" id="BLOCK_PROGRESSION_DIMENSION_MAXIMUM">BLOCK_PROGRESSION_DIMENSION_MAXIMUM</span> = <span class="jde-java-font-lock-number">46</span>, | |||||
<span class="comment">// Border corresponding properties | |||||
</span> <span class="jde-java-font-lock-constant" id="BORDER_AFTER_COLOR">BORDER_AFTER_COLOR</span> = <span class="jde-java-font-lock-number">47</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_AFTER_PRECEDENCE">BORDER_AFTER_PRECEDENCE</span> = <span class="jde-java-font-lock-number">48</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_AFTER_STYLE">BORDER_AFTER_STYLE</span> = <span class="jde-java-font-lock-number">49</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_AFTER_WIDTH">BORDER_AFTER_WIDTH</span> = <span class="jde-java-font-lock-number">50</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_AFTER_WIDTH_LENGTH">BORDER_AFTER_WIDTH_LENGTH</span> = <span class="jde-java-font-lock-number">51</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_AFTER_WIDTH_CONDITIONALITY">BORDER_AFTER_WIDTH_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">52</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_COLOR">BORDER_BEFORE_COLOR</span> = <span class="jde-java-font-lock-number">53</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_PRECEDENCE">BORDER_BEFORE_PRECEDENCE</span> = <span class="jde-java-font-lock-number">54</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_STYLE">BORDER_BEFORE_STYLE</span> = <span class="jde-java-font-lock-number">55</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_WIDTH">BORDER_BEFORE_WIDTH</span> = <span class="jde-java-font-lock-number">56</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_WIDTH_LENGTH">BORDER_BEFORE_WIDTH_LENGTH</span> = <span class="jde-java-font-lock-number">57</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_WIDTH_CONDITIONALITY">BORDER_BEFORE_WIDTH_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">58</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_END_COLOR">BORDER_END_COLOR</span> = <span class="jde-java-font-lock-number">59</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_END_PRECEDENCE">BORDER_END_PRECEDENCE</span> = <span class="jde-java-font-lock-number">60</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_END_STYLE">BORDER_END_STYLE</span> = <span class="jde-java-font-lock-number">61</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_END_WIDTH">BORDER_END_WIDTH</span> = <span class="jde-java-font-lock-number">62</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_END_WIDTH_LENGTH">BORDER_END_WIDTH_LENGTH</span> = <span class="jde-java-font-lock-number">63</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_END_WIDTH_CONDITIONALITY">BORDER_END_WIDTH_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">64</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_START_COLOR">BORDER_START_COLOR</span> = <span class="jde-java-font-lock-number">65</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_START_PRECEDENCE">BORDER_START_PRECEDENCE</span> = <span class="jde-java-font-lock-number">66</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_START_STYLE">BORDER_START_STYLE</span> = <span class="jde-java-font-lock-number">67</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_START_WIDTH">BORDER_START_WIDTH</span> = <span class="jde-java-font-lock-number">68</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_START_WIDTH_LENGTH">BORDER_START_WIDTH_LENGTH</span> = <span class="jde-java-font-lock-number">69</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_START_WIDTH_CONDITIONALITY">BORDER_START_WIDTH_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">70</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM_COLOR">BORDER_BOTTOM_COLOR</span> = <span class="jde-java-font-lock-number">71</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM_STYLE">BORDER_BOTTOM_STYLE</span> = <span class="jde-java-font-lock-number">72</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM_WIDTH">BORDER_BOTTOM_WIDTH</span> = <span class="jde-java-font-lock-number">73</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_LEFT_COLOR">BORDER_LEFT_COLOR</span> = <span class="jde-java-font-lock-number">74</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_LEFT_STYLE">BORDER_LEFT_STYLE</span> = <span class="jde-java-font-lock-number">75</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_LEFT_WIDTH">BORDER_LEFT_WIDTH</span> = <span class="jde-java-font-lock-number">76</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_RIGHT_COLOR">BORDER_RIGHT_COLOR</span> = <span class="jde-java-font-lock-number">77</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_RIGHT_STYLE">BORDER_RIGHT_STYLE</span> = <span class="jde-java-font-lock-number">78</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_RIGHT_WIDTH">BORDER_RIGHT_WIDTH</span> = <span class="jde-java-font-lock-number">79</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_TOP_COLOR">BORDER_TOP_COLOR</span> = <span class="jde-java-font-lock-number">80</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_TOP_STYLE">BORDER_TOP_STYLE</span> = <span class="jde-java-font-lock-number">81</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_TOP_WIDTH">BORDER_TOP_WIDTH</span> = <span class="jde-java-font-lock-number">82</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_COLLAPSE">BORDER_COLLAPSE</span> = <span class="jde-java-font-lock-number">83</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_SEPARATION">BORDER_SEPARATION</span> = <span class="jde-java-font-lock-number">84</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_SEPARATION_BLOCK_PROGRESSION_DIRECTION">BORDER_SEPARATION_BLOCK_PROGRESSION_DIRECTION</span> = <span class="jde-java-font-lock-number">85</span>, | |||||
<span class="jde-java-font-lock-constant" id="BORDER_SEPARATION_INLINE_PROGRESSION_DIRECTION">BORDER_SEPARATION_INLINE_PROGRESSION_DIRECTION</span> = <span class="jde-java-font-lock-number">86</span>, | |||||
<span class="jde-java-font-lock-constant" id="BOTTOM">BOTTOM</span> = <span class="jde-java-font-lock-number">87</span>, | |||||
<span class="jde-java-font-lock-constant" id="BREAK_AFTER">BREAK_AFTER</span> = <span class="jde-java-font-lock-number">88</span>, | |||||
<span class="jde-java-font-lock-constant" id="BREAK_BEFORE">BREAK_BEFORE</span> = <span class="jde-java-font-lock-number">89</span>, | |||||
<span class="jde-java-font-lock-constant" id="CAPTION_SIDE">CAPTION_SIDE</span> = <span class="jde-java-font-lock-number">90</span>, | |||||
<span class="jde-java-font-lock-constant" id="CASE_NAME">CASE_NAME</span> = <span class="jde-java-font-lock-number">91</span>, | |||||
<span class="jde-java-font-lock-constant" id="CASE_TITLE">CASE_TITLE</span> = <span class="jde-java-font-lock-number">92</span>, | |||||
<span class="jde-java-font-lock-constant" id="CHARACTER">CHARACTER</span> = <span class="jde-java-font-lock-number">93</span>, | |||||
<span class="jde-java-font-lock-constant" id="CLEAR">CLEAR</span> = <span class="jde-java-font-lock-number">94</span>, | |||||
<span class="jde-java-font-lock-constant" id="CLIP">CLIP</span> = <span class="jde-java-font-lock-number">95</span>, | |||||
<span class="jde-java-font-lock-constant" id="COLOR">COLOR</span> = <span class="jde-java-font-lock-number">96</span>, | |||||
<span class="jde-java-font-lock-constant" id="COLOR_PROFILE_NAME">COLOR_PROFILE_NAME</span> = <span class="jde-java-font-lock-number">97</span>, | |||||
<span class="jde-java-font-lock-constant" id="COLUMN_COUNT">COLUMN_COUNT</span> = <span class="jde-java-font-lock-number">98</span>, | |||||
<span class="jde-java-font-lock-constant" id="COLUMN_GAP">COLUMN_GAP</span> = <span class="jde-java-font-lock-number">99</span>, | |||||
<span class="jde-java-font-lock-constant" id="COLUMN_WIDTH">COLUMN_WIDTH</span> = <span class="jde-java-font-lock-number">100</span>, | |||||
<span class="jde-java-font-lock-constant" id="CONTENT_HEIGHT">CONTENT_HEIGHT</span> = <span class="jde-java-font-lock-number">101</span>, | |||||
<span class="jde-java-font-lock-constant" id="CONTENT_TYPE">CONTENT_TYPE</span> = <span class="jde-java-font-lock-number">102</span>, | |||||
<span class="jde-java-font-lock-constant" id="CONTENT_WIDTH">CONTENT_WIDTH</span> = <span class="jde-java-font-lock-number">103</span>, | |||||
<span class="jde-java-font-lock-constant" id="COUNTRY">COUNTRY</span> = <span class="jde-java-font-lock-number">104</span>, | |||||
<span class="jde-java-font-lock-constant" id="CUE_AFTER">CUE_AFTER</span> = <span class="jde-java-font-lock-number">105</span>, | |||||
<span class="jde-java-font-lock-constant" id="CUE_BEFORE">CUE_BEFORE</span> = <span class="jde-java-font-lock-number">106</span>, | |||||
<span class="jde-java-font-lock-constant" id="DESTINATION_PLACEMENT_OFFSET">DESTINATION_PLACEMENT_OFFSET</span> = <span class="jde-java-font-lock-number">107</span>, | |||||
<span class="jde-java-font-lock-constant" id="DIRECTION">DIRECTION</span> = <span class="jde-java-font-lock-number">108</span>, | |||||
<span class="jde-java-font-lock-constant" id="DISPLAY_ALIGN">DISPLAY_ALIGN</span> = <span class="jde-java-font-lock-number">109</span>, | |||||
<span class="jde-java-font-lock-constant" id="DOMINANT_BASELINE">DOMINANT_BASELINE</span> = <span class="jde-java-font-lock-number">110</span>, | |||||
<span class="jde-java-font-lock-constant" id="ELEVATION">ELEVATION</span> = <span class="jde-java-font-lock-number">111</span>, | |||||
<span class="jde-java-font-lock-constant" id="EMPTY_CELLS">EMPTY_CELLS</span> = <span class="jde-java-font-lock-number">112</span>, | |||||
<span class="jde-java-font-lock-constant" id="END_INDENT">END_INDENT</span> = <span class="jde-java-font-lock-number">113</span>, | |||||
<span class="jde-java-font-lock-constant" id="ENDS_ROW">ENDS_ROW</span> = <span class="jde-java-font-lock-number">114</span>, | |||||
<span class="jde-java-font-lock-constant" id="EXTENT">EXTENT</span> = <span class="jde-java-font-lock-number">115</span>, | |||||
<span class="jde-java-font-lock-constant" id="EXTERNAL_DESTINATION">EXTERNAL_DESTINATION</span> = <span class="jde-java-font-lock-number">116</span>, | |||||
<span class="jde-java-font-lock-constant" id="FLOAT">FLOAT</span> = <span class="jde-java-font-lock-number">117</span>, | |||||
<span class="jde-java-font-lock-constant" id="FLOW_NAME">FLOW_NAME</span> = <span class="jde-java-font-lock-number">118</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_FAMILY">FONT_FAMILY</span> = <span class="jde-java-font-lock-number">119</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_SELECTION_STRATEGY">FONT_SELECTION_STRATEGY</span> = <span class="jde-java-font-lock-number">120</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_SIZE_ADJUST">FONT_SIZE_ADJUST</span> = <span class="jde-java-font-lock-number">121</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_STRETCH">FONT_STRETCH</span> = <span class="jde-java-font-lock-number">122</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_STYLE">FONT_STYLE</span> = <span class="jde-java-font-lock-number">123</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_VARIANT">FONT_VARIANT</span> = <span class="jde-java-font-lock-number">124</span>, | |||||
<span class="jde-java-font-lock-constant" id="FONT_WEIGHT">FONT_WEIGHT</span> = <span class="jde-java-font-lock-number">125</span>, | |||||
<span class="jde-java-font-lock-constant" id="FORCE_PAGE_COUNT">FORCE_PAGE_COUNT</span> = <span class="jde-java-font-lock-number">126</span>, | |||||
<span class="jde-java-font-lock-constant" id="FORMAT">FORMAT</span> = <span class="jde-java-font-lock-number">127</span>, | |||||
<span class="jde-java-font-lock-constant" id="GLYPH_ORIENTATION_HORIZONTAL">GLYPH_ORIENTATION_HORIZONTAL</span> = <span class="jde-java-font-lock-number">128</span>, | |||||
<span class="jde-java-font-lock-constant" id="GLYPH_ORIENTATION_VERTICAL">GLYPH_ORIENTATION_VERTICAL</span> = <span class="jde-java-font-lock-number">129</span>, | |||||
<span class="jde-java-font-lock-constant" id="GROUPING_SEPARATOR">GROUPING_SEPARATOR</span> = <span class="jde-java-font-lock-number">130</span>, | |||||
<span class="jde-java-font-lock-constant" id="GROUPING_SIZE">GROUPING_SIZE</span> = <span class="jde-java-font-lock-number">131</span>, | |||||
<span class="jde-java-font-lock-constant" id="HEIGHT">HEIGHT</span> = <span class="jde-java-font-lock-number">132</span>, | |||||
<span class="jde-java-font-lock-constant" id="HYPHENATE">HYPHENATE</span> = <span class="jde-java-font-lock-number">133</span>, | |||||
<span class="jde-java-font-lock-constant" id="HYPHENATION_CHARACTER">HYPHENATION_CHARACTER</span> = <span class="jde-java-font-lock-number">134</span>, | |||||
<span class="jde-java-font-lock-constant" id="HYPHENATION_KEEP">HYPHENATION_KEEP</span> = <span class="jde-java-font-lock-number">135</span>, | |||||
<span class="jde-java-font-lock-constant" id="HYPHENATION_LADDER_COUNT">HYPHENATION_LADDER_COUNT</span> = <span class="jde-java-font-lock-number">136</span>, | |||||
<span class="jde-java-font-lock-constant" id="HYPHENATION_PUSH_CHARACTER_COUNT">HYPHENATION_PUSH_CHARACTER_COUNT</span> = <span class="jde-java-font-lock-number">137</span>, | |||||
<span class="jde-java-font-lock-constant" id="HYPHENATION_REMAIN_CHARACTER_COUNT">HYPHENATION_REMAIN_CHARACTER_COUNT</span> = <span class="jde-java-font-lock-number">138</span>, | |||||
<span class="jde-java-font-lock-constant" id="ID">ID</span> = <span class="jde-java-font-lock-number">139</span>, | |||||
<span class="jde-java-font-lock-constant" id="INDICATE_DESTINATION">INDICATE_DESTINATION</span> = <span class="jde-java-font-lock-number">140</span>, | |||||
<span class="jde-java-font-lock-constant" id="INITIAL_PAGE_NUMBER">INITIAL_PAGE_NUMBER</span> = <span class="jde-java-font-lock-number">141</span>, | |||||
<span class="jde-java-font-lock-constant" id="INLINE_PROGRESSION_DIMENSION">INLINE_PROGRESSION_DIMENSION</span> = <span class="jde-java-font-lock-number">142</span>, | |||||
<span class="jde-java-font-lock-constant" id="INLINE_PROGRESSION_DIMENSION_MINIMUM">INLINE_PROGRESSION_DIMENSION_MINIMUM</span> = <span class="jde-java-font-lock-number">143</span>, | |||||
<span class="jde-java-font-lock-constant" id="INLINE_PROGRESSION_DIMENSION_OPTIMUM">INLINE_PROGRESSION_DIMENSION_OPTIMUM</span> = <span class="jde-java-font-lock-number">144</span>, | |||||
<span class="jde-java-font-lock-constant" id="INLINE_PROGRESSION_DIMENSION_MAXIMUM">INLINE_PROGRESSION_DIMENSION_MAXIMUM</span> = <span class="jde-java-font-lock-number">145</span>, | |||||
<span class="jde-java-font-lock-constant" id="INTERNAL_DESTINATION">INTERNAL_DESTINATION</span> = <span class="jde-java-font-lock-number">146</span>, | |||||
<span class="jde-java-font-lock-constant" id="INTRUSION_DISPLACE">INTRUSION_DISPLACE</span> = <span class="jde-java-font-lock-number">147</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_TOGETHER">KEEP_TOGETHER</span> = <span class="jde-java-font-lock-number">148</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_TOGETHER_WITHIN_LINE">KEEP_TOGETHER_WITHIN_LINE</span> = <span class="jde-java-font-lock-number">149</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_TOGETHER_WITHIN_PAGE">KEEP_TOGETHER_WITHIN_PAGE</span> = <span class="jde-java-font-lock-number">150</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_TOGETHER_WITHIN_COLUMN">KEEP_TOGETHER_WITHIN_COLUMN</span> = <span class="jde-java-font-lock-number">151</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_NEXT">KEEP_WITH_NEXT</span> = <span class="jde-java-font-lock-number">152</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_NEXT_WITHIN_LINE">KEEP_WITH_NEXT_WITHIN_LINE</span> = <span class="jde-java-font-lock-number">153</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_NEXT_WITHIN_PAGE">KEEP_WITH_NEXT_WITHIN_PAGE</span> = <span class="jde-java-font-lock-number">154</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_NEXT_WITHIN_COLUMN">KEEP_WITH_NEXT_WITHIN_COLUMN</span> = <span class="jde-java-font-lock-number">155</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_PREVIOUS">KEEP_WITH_PREVIOUS</span> = <span class="jde-java-font-lock-number">156</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_PREVIOUS_WITHIN_LINE">KEEP_WITH_PREVIOUS_WITHIN_LINE</span> = <span class="jde-java-font-lock-number">157</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_PREVIOUS_WITHIN_PAGE">KEEP_WITH_PREVIOUS_WITHIN_PAGE</span> = <span class="jde-java-font-lock-number">158</span>, | |||||
<span class="jde-java-font-lock-constant" id="KEEP_WITH_PREVIOUS_WITHIN_COLUMN">KEEP_WITH_PREVIOUS_WITHIN_COLUMN</span> = <span class="jde-java-font-lock-number">159</span>, | |||||
<span class="jde-java-font-lock-constant" id="LANGUAGE">LANGUAGE</span> = <span class="jde-java-font-lock-number">160</span>, | |||||
<span class="jde-java-font-lock-constant" id="LAST_LINE_END_INDENT">LAST_LINE_END_INDENT</span> = <span class="jde-java-font-lock-number">161</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEADER_ALIGNMENT">LEADER_ALIGNMENT</span> = <span class="jde-java-font-lock-number">162</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEADER_LENGTH">LEADER_LENGTH</span> = <span class="jde-java-font-lock-number">163</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEADER_LENGTH_MINIMUM">LEADER_LENGTH_MINIMUM</span> = <span class="jde-java-font-lock-number">164</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEADER_LENGTH_OPTIMUM">LEADER_LENGTH_OPTIMUM</span> = <span class="jde-java-font-lock-number">165</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEADER_LENGTH_MAXIMUM">LEADER_LENGTH_MAXIMUM</span> = <span class="jde-java-font-lock-number">166</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEADER_PATTERN">LEADER_PATTERN</span> = <span class="jde-java-font-lock-number">167</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEADER_PATTERN_WIDTH">LEADER_PATTERN_WIDTH</span> = <span class="jde-java-font-lock-number">168</span>, | |||||
<span class="jde-java-font-lock-constant" id="LEFT">LEFT</span> = <span class="jde-java-font-lock-number">169</span>, | |||||
<span class="jde-java-font-lock-constant" id="LETTER_SPACING">LETTER_SPACING</span> = <span class="jde-java-font-lock-number">170</span>, | |||||
<span class="jde-java-font-lock-constant" id="LETTER_SPACING_MINIMUM">LETTER_SPACING_MINIMUM</span> = <span class="jde-java-font-lock-number">171</span>, | |||||
<span class="jde-java-font-lock-constant" id="LETTER_SPACING_OPTIMUM">LETTER_SPACING_OPTIMUM</span> = <span class="jde-java-font-lock-number">172</span>, | |||||
<span class="jde-java-font-lock-constant" id="LETTER_SPACING_MAXIMUM">LETTER_SPACING_MAXIMUM</span> = <span class="jde-java-font-lock-number">173</span>, | |||||
<span class="jde-java-font-lock-constant" id="LETTER_SPACING_CONDITIONALITY">LETTER_SPACING_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">174</span>, | |||||
<span class="jde-java-font-lock-constant" id="LETTER_SPACING_PRECEDENCE">LETTER_SPACING_PRECEDENCE</span> = <span class="jde-java-font-lock-number">175</span>, | |||||
<span class="jde-java-font-lock-constant" id="LETTER_VALUE">LETTER_VALUE</span> = <span class="jde-java-font-lock-number">176</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINEFEED_TREATMENT">LINEFEED_TREATMENT</span> = <span class="jde-java-font-lock-number">177</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_HEIGHT">LINE_HEIGHT</span> = <span class="jde-java-font-lock-number">178</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_HEIGHT_MINIMUM">LINE_HEIGHT_MINIMUM</span> = <span class="jde-java-font-lock-number">179</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_HEIGHT_OPTIMUM">LINE_HEIGHT_OPTIMUM</span> = <span class="jde-java-font-lock-number">180</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_HEIGHT_MAXIMUM">LINE_HEIGHT_MAXIMUM</span> = <span class="jde-java-font-lock-number">181</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_HEIGHT_CONDITIONALITY">LINE_HEIGHT_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">182</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_HEIGHT_PRECEDENCE">LINE_HEIGHT_PRECEDENCE</span> = <span class="jde-java-font-lock-number">183</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_HEIGHT_SHIFT_ADJUSTMENT">LINE_HEIGHT_SHIFT_ADJUSTMENT</span> = <span class="jde-java-font-lock-number">184</span>, | |||||
<span class="jde-java-font-lock-constant" id="LINE_STACKING_STRATEGY">LINE_STACKING_STRATEGY</span> = <span class="jde-java-font-lock-number">185</span>, | |||||
<span class="jde-java-font-lock-constant" id="MARKER_CLASS_NAME">MARKER_CLASS_NAME</span> = <span class="jde-java-font-lock-number">186</span>, | |||||
<span class="jde-java-font-lock-constant" id="MASTER_NAME">MASTER_NAME</span> = <span class="jde-java-font-lock-number">187</span>, | |||||
<span class="jde-java-font-lock-constant" id="MASTER_REFERENCE">MASTER_REFERENCE</span> = <span class="jde-java-font-lock-number">188</span>, | |||||
<span class="jde-java-font-lock-constant" id="MAX_HEIGHT">MAX_HEIGHT</span> = <span class="jde-java-font-lock-number">189</span>, | |||||
<span class="jde-java-font-lock-constant" id="MAXIMUM_REPEATS">MAXIMUM_REPEATS</span> = <span class="jde-java-font-lock-number">190</span>, | |||||
<span class="jde-java-font-lock-constant" id="MAX_WIDTH">MAX_WIDTH</span> = <span class="jde-java-font-lock-number">191</span>, | |||||
<span class="jde-java-font-lock-constant" id="MEDIA_USAGE">MEDIA_USAGE</span> = <span class="jde-java-font-lock-number">192</span>, | |||||
<span class="jde-java-font-lock-constant" id="MIN_HEIGHT">MIN_HEIGHT</span> = <span class="jde-java-font-lock-number">193</span>, | |||||
<span class="jde-java-font-lock-constant" id="MIN_WIDTH">MIN_WIDTH</span> = <span class="jde-java-font-lock-number">194</span>, | |||||
<span class="jde-java-font-lock-constant" id="NUMBER_COLUMNS_REPEATED">NUMBER_COLUMNS_REPEATED</span> = <span class="jde-java-font-lock-number">195</span>, | |||||
<span class="jde-java-font-lock-constant" id="NUMBER_ROWS_SPANNED">NUMBER_ROWS_SPANNED</span> = <span class="jde-java-font-lock-number">196</span>, | |||||
<span class="jde-java-font-lock-constant" id="ODD_OR_EVEN">ODD_OR_EVEN</span> = <span class="jde-java-font-lock-number">197</span>, | |||||
<span class="jde-java-font-lock-constant" id="ORPHANS">ORPHANS</span> = <span class="jde-java-font-lock-number">198</span>, | |||||
<span class="jde-java-font-lock-constant" id="OVERFLOW">OVERFLOW</span> = <span class="jde-java-font-lock-number">199</span>, | |||||
<span class="comment">// Padding corresponding properties | |||||
</span> <span class="jde-java-font-lock-constant" id="PADDING_AFTER">PADDING_AFTER</span> = <span class="jde-java-font-lock-number">200</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_AFTER_LENGTH">PADDING_AFTER_LENGTH</span> = <span class="jde-java-font-lock-number">201</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_AFTER_CONDITIONALITY">PADDING_AFTER_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">202</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_BEFORE">PADDING_BEFORE</span> = <span class="jde-java-font-lock-number">203</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_BEFORE_LENGTH">PADDING_BEFORE_LENGTH</span> = <span class="jde-java-font-lock-number">204</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_BEFORE_CONDITIONALITY">PADDING_BEFORE_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">205</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_END">PADDING_END</span> = <span class="jde-java-font-lock-number">206</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_END_LENGTH">PADDING_END_LENGTH</span> = <span class="jde-java-font-lock-number">207</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_END_CONDITIONALITY">PADDING_END_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">208</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_START">PADDING_START</span> = <span class="jde-java-font-lock-number">209</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_START_LENGTH">PADDING_START_LENGTH</span> = <span class="jde-java-font-lock-number">210</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_START_CONDITIONALITY">PADDING_START_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">211</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_BOTTOM">PADDING_BOTTOM</span> = <span class="jde-java-font-lock-number">212</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_LEFT">PADDING_LEFT</span> = <span class="jde-java-font-lock-number">213</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_RIGHT">PADDING_RIGHT</span> = <span class="jde-java-font-lock-number">214</span>, | |||||
<span class="jde-java-font-lock-constant" id="PADDING_TOP">PADDING_TOP</span> = <span class="jde-java-font-lock-number">215</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAGE_HEIGHT">PAGE_HEIGHT</span> = <span class="jde-java-font-lock-number">216</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAGE_POSITION">PAGE_POSITION</span> = <span class="jde-java-font-lock-number">217</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAGE_WIDTH">PAGE_WIDTH</span> = <span class="jde-java-font-lock-number">218</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAUSE_AFTER">PAUSE_AFTER</span> = <span class="jde-java-font-lock-number">219</span>, | |||||
<span class="jde-java-font-lock-constant" id="PAUSE_BEFORE">PAUSE_BEFORE</span> = <span class="jde-java-font-lock-number">220</span>, | |||||
<span class="jde-java-font-lock-constant" id="PITCH">PITCH</span> = <span class="jde-java-font-lock-number">221</span>, | |||||
<span class="jde-java-font-lock-constant" id="PITCH_RANGE">PITCH_RANGE</span> = <span class="jde-java-font-lock-number">222</span>, | |||||
<span class="jde-java-font-lock-constant" id="PLAY_DURING">PLAY_DURING</span> = <span class="jde-java-font-lock-number">223</span>, | |||||
<span class="jde-java-font-lock-constant" id="PRECEDENCE">PRECEDENCE</span> = <span class="jde-java-font-lock-number">224</span>, | |||||
<span class="jde-java-font-lock-constant" id="PROVISIONAL_DISTANCE_BETWEEN_STARTS">PROVISIONAL_DISTANCE_BETWEEN_STARTS</span> = <span class="jde-java-font-lock-number">225</span>, | |||||
<span class="jde-java-font-lock-constant" id="PROVISIONAL_LABEL_SEPARATION">PROVISIONAL_LABEL_SEPARATION</span> = <span class="jde-java-font-lock-number">226</span>, | |||||
<span class="jde-java-font-lock-constant" id="REFERENCE_ORIENTATION">REFERENCE_ORIENTATION</span> = <span class="jde-java-font-lock-number">227</span>, | |||||
<span class="jde-java-font-lock-constant" id="REF_ID">REF_ID</span> = <span class="jde-java-font-lock-number">228</span>, | |||||
<span class="jde-java-font-lock-constant" id="REGION_NAME">REGION_NAME</span> = <span class="jde-java-font-lock-number">229</span>, | |||||
<span class="jde-java-font-lock-constant" id="RELATIVE_ALIGN">RELATIVE_ALIGN</span> = <span class="jde-java-font-lock-number">230</span>, | |||||
<span class="jde-java-font-lock-constant" id="RELATIVE_POSITION">RELATIVE_POSITION</span> = <span class="jde-java-font-lock-number">231</span>, | |||||
<span class="jde-java-font-lock-constant" id="RENDERING_INTENT">RENDERING_INTENT</span> = <span class="jde-java-font-lock-number">232</span>, | |||||
<span class="jde-java-font-lock-constant" id="RETRIEVE_BOUNDARY">RETRIEVE_BOUNDARY</span> = <span class="jde-java-font-lock-number">233</span>, | |||||
<span class="jde-java-font-lock-constant" id="RETRIEVE_CLASS_NAME">RETRIEVE_CLASS_NAME</span> = <span class="jde-java-font-lock-number">234</span>, | |||||
<span class="jde-java-font-lock-constant" id="RETRIEVE_POSITION">RETRIEVE_POSITION</span> = <span class="jde-java-font-lock-number">235</span>, | |||||
<span class="jde-java-font-lock-constant" id="RICHNESS">RICHNESS</span> = <span class="jde-java-font-lock-number">236</span>, | |||||
<span class="jde-java-font-lock-constant" id="RIGHT">RIGHT</span> = <span class="jde-java-font-lock-number">237</span>, | |||||
<span class="jde-java-font-lock-constant" id="ROLE">ROLE</span> = <span class="jde-java-font-lock-number">238</span>, | |||||
<span class="jde-java-font-lock-constant" id="RULE_STYLE">RULE_STYLE</span> = <span class="jde-java-font-lock-number">239</span>, | |||||
<span class="jde-java-font-lock-constant" id="RULE_THICKNESS">RULE_THICKNESS</span> = <span class="jde-java-font-lock-number">240</span>, | |||||
<span class="jde-java-font-lock-constant" id="SCALING">SCALING</span> = <span class="jde-java-font-lock-number">241</span>, | |||||
<span class="jde-java-font-lock-constant" id="SCALING_METHOD">SCALING_METHOD</span> = <span class="jde-java-font-lock-number">242</span>, | |||||
<span class="jde-java-font-lock-constant" id="SCORE_SPACES">SCORE_SPACES</span> = <span class="jde-java-font-lock-number">243</span>, | |||||
<span class="jde-java-font-lock-constant" id="SCRIPT">SCRIPT</span> = <span class="jde-java-font-lock-number">244</span>, | |||||
<span class="jde-java-font-lock-constant" id="SHOW_DESTINATION">SHOW_DESTINATION</span> = <span class="jde-java-font-lock-number">245</span>, | |||||
<span class="jde-java-font-lock-constant" id="SOURCE_DOCUMENT">SOURCE_DOCUMENT</span> = <span class="jde-java-font-lock-number">246</span>, | |||||
<span class="comment">// Space/margin corresponding properties | |||||
</span> <span class="jde-java-font-lock-constant" id="SPACE_AFTER">SPACE_AFTER</span> = <span class="jde-java-font-lock-number">247</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_AFTER_MINIMUM">SPACE_AFTER_MINIMUM</span> = <span class="jde-java-font-lock-number">248</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_AFTER_OPTIMUM">SPACE_AFTER_OPTIMUM</span> = <span class="jde-java-font-lock-number">249</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_AFTER_MAXIMUM">SPACE_AFTER_MAXIMUM</span> = <span class="jde-java-font-lock-number">250</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_AFTER_CONDITIONALITY">SPACE_AFTER_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">251</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_AFTER_PRECEDENCE">SPACE_AFTER_PRECEDENCE</span> = <span class="jde-java-font-lock-number">252</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_BEFORE">SPACE_BEFORE</span> = <span class="jde-java-font-lock-number">253</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_BEFORE_MINIMUM">SPACE_BEFORE_MINIMUM</span> = <span class="jde-java-font-lock-number">254</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_BEFORE_OPTIMUM">SPACE_BEFORE_OPTIMUM</span> = <span class="jde-java-font-lock-number">255</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_BEFORE_MAXIMUM">SPACE_BEFORE_MAXIMUM</span> = <span class="jde-java-font-lock-number">256</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_BEFORE_CONDITIONALITY">SPACE_BEFORE_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">257</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_BEFORE_PRECEDENCE">SPACE_BEFORE_PRECEDENCE</span> = <span class="jde-java-font-lock-number">258</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_END">SPACE_END</span> = <span class="jde-java-font-lock-number">259</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_END_MINIMUM">SPACE_END_MINIMUM</span> = <span class="jde-java-font-lock-number">260</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_END_OPTIMUM">SPACE_END_OPTIMUM</span> = <span class="jde-java-font-lock-number">261</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_END_MAXIMUM">SPACE_END_MAXIMUM</span> = <span class="jde-java-font-lock-number">262</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_END_CONDITIONALITY">SPACE_END_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">263</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_END_PRECEDENCE">SPACE_END_PRECEDENCE</span> = <span class="jde-java-font-lock-number">264</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_START">SPACE_START</span> = <span class="jde-java-font-lock-number">265</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_START_MINIMUM">SPACE_START_MINIMUM</span> = <span class="jde-java-font-lock-number">266</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_START_OPTIMUM">SPACE_START_OPTIMUM</span> = <span class="jde-java-font-lock-number">267</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_START_MAXIMUM">SPACE_START_MAXIMUM</span> = <span class="jde-java-font-lock-number">268</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_START_CONDITIONALITY">SPACE_START_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">269</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPACE_START_PRECEDENCE">SPACE_START_PRECEDENCE</span> = <span class="jde-java-font-lock-number">270</span>, | |||||
<span class="jde-java-font-lock-constant" id="MARGIN_BOTTOM">MARGIN_BOTTOM</span> = <span class="jde-java-font-lock-number">271</span>, | |||||
<span class="jde-java-font-lock-constant" id="MARGIN_LEFT">MARGIN_LEFT</span> = <span class="jde-java-font-lock-number">272</span>, | |||||
<span class="jde-java-font-lock-constant" id="MARGIN_RIGHT">MARGIN_RIGHT</span> = <span class="jde-java-font-lock-number">273</span>, | |||||
<span class="jde-java-font-lock-constant" id="MARGIN_TOP">MARGIN_TOP</span> = <span class="jde-java-font-lock-number">274</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPAN">SPAN</span> = <span class="jde-java-font-lock-number">275</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPEAK">SPEAK</span> = <span class="jde-java-font-lock-number">276</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPEAK_HEADER">SPEAK_HEADER</span> = <span class="jde-java-font-lock-number">277</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPEAK_NUMERAL">SPEAK_NUMERAL</span> = <span class="jde-java-font-lock-number">278</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPEAK_PUNCTUATION">SPEAK_PUNCTUATION</span> = <span class="jde-java-font-lock-number">279</span>, | |||||
<span class="jde-java-font-lock-constant" id="SPEECH_RATE">SPEECH_RATE</span> = <span class="jde-java-font-lock-number">280</span>, | |||||
<span class="jde-java-font-lock-constant" id="SRC">SRC</span> = <span class="jde-java-font-lock-number">281</span>, | |||||
<span class="jde-java-font-lock-constant" id="START_INDENT">START_INDENT</span> = <span class="jde-java-font-lock-number">282</span>, | |||||
<span class="jde-java-font-lock-constant" id="STARTING_STATE">STARTING_STATE</span> = <span class="jde-java-font-lock-number">283</span>, | |||||
<span class="jde-java-font-lock-constant" id="STARTS_ROW">STARTS_ROW</span> = <span class="jde-java-font-lock-number">284</span>, | |||||
<span class="jde-java-font-lock-constant" id="STRESS">STRESS</span> = <span class="jde-java-font-lock-number">285</span>, | |||||
<span class="jde-java-font-lock-constant" id="SUPPRESS_AT_LINE_BREAK">SUPPRESS_AT_LINE_BREAK</span> = <span class="jde-java-font-lock-number">286</span>, | |||||
<span class="jde-java-font-lock-constant" id="SWITCH_TO">SWITCH_TO</span> = <span class="jde-java-font-lock-number">287</span>, | |||||
<span class="jde-java-font-lock-constant" id="TABLE_LAYOUT">TABLE_LAYOUT</span> = <span class="jde-java-font-lock-number">288</span>, | |||||
<span class="jde-java-font-lock-constant" id="TABLE_OMIT_FOOTER_AT_BREAK">TABLE_OMIT_FOOTER_AT_BREAK</span> = <span class="jde-java-font-lock-number">289</span>, | |||||
<span class="jde-java-font-lock-constant" id="TABLE_OMIT_HEADER_AT_BREAK">TABLE_OMIT_HEADER_AT_BREAK</span> = <span class="jde-java-font-lock-number">290</span>, | |||||
<span class="jde-java-font-lock-constant" id="TARGET_PRESENTATION_CONTEXT">TARGET_PRESENTATION_CONTEXT</span> = <span class="jde-java-font-lock-number">291</span>, | |||||
<span class="jde-java-font-lock-constant" id="TARGET_PROCESSING_CONTEXT">TARGET_PROCESSING_CONTEXT</span> = <span class="jde-java-font-lock-number">292</span>, | |||||
<span class="jde-java-font-lock-constant" id="TARGET_STYLESHEET">TARGET_STYLESHEET</span> = <span class="jde-java-font-lock-number">293</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_ALIGN">TEXT_ALIGN</span> = <span class="jde-java-font-lock-number">294</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_ALIGN_LAST">TEXT_ALIGN_LAST</span> = <span class="jde-java-font-lock-number">295</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_ALTITUDE">TEXT_ALTITUDE</span> = <span class="jde-java-font-lock-number">296</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_DECORATION">TEXT_DECORATION</span> = <span class="jde-java-font-lock-number">297</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_DEPTH">TEXT_DEPTH</span> = <span class="jde-java-font-lock-number">298</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_INDENT">TEXT_INDENT</span> = <span class="jde-java-font-lock-number">299</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_SHADOW">TEXT_SHADOW</span> = <span class="jde-java-font-lock-number">300</span>, | |||||
<span class="jde-java-font-lock-constant" id="TEXT_TRANSFORM">TEXT_TRANSFORM</span> = <span class="jde-java-font-lock-number">301</span>, | |||||
<span class="jde-java-font-lock-constant" id="TOP">TOP</span> = <span class="jde-java-font-lock-number">302</span>, | |||||
<span class="jde-java-font-lock-constant" id="TREAT_AS_WORD_SPACE">TREAT_AS_WORD_SPACE</span> = <span class="jde-java-font-lock-number">303</span>, | |||||
<span class="jde-java-font-lock-constant" id="UNICODE_BIDI">UNICODE_BIDI</span> = <span class="jde-java-font-lock-number">304</span>, | |||||
<span class="jde-java-font-lock-constant" id="USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK">USAGE_CONTEXT_OF_SUPPRESS_AT_LINE_BREAK</span> = <span class="jde-java-font-lock-number">305</span>, | |||||
<span class="jde-java-font-lock-constant" id="VISIBILITY">VISIBILITY</span> = <span class="jde-java-font-lock-number">306</span>, | |||||
<span class="jde-java-font-lock-constant" id="VOICE_FAMILY">VOICE_FAMILY</span> = <span class="jde-java-font-lock-number">307</span>, | |||||
<span class="jde-java-font-lock-constant" id="VOLUME">VOLUME</span> = <span class="jde-java-font-lock-number">308</span>, | |||||
<span class="jde-java-font-lock-constant" id="WHITE_SPACE_COLLAPSE">WHITE_SPACE_COLLAPSE</span> = <span class="jde-java-font-lock-number">309</span>, | |||||
<span class="jde-java-font-lock-constant" id="WHITE_SPACE_TREATMENT">WHITE_SPACE_TREATMENT</span> = <span class="jde-java-font-lock-number">310</span>, | |||||
<span class="jde-java-font-lock-constant" id="WIDOWS">WIDOWS</span> = <span class="jde-java-font-lock-number">311</span>, | |||||
<span class="jde-java-font-lock-constant" id="WIDTH">WIDTH</span> = <span class="jde-java-font-lock-number">312</span>, | |||||
<span class="jde-java-font-lock-constant" id="WORD_SPACING">WORD_SPACING</span> = <span class="jde-java-font-lock-number">313</span>, | |||||
<span class="jde-java-font-lock-constant" id="WORD_SPACING_MINIMUM">WORD_SPACING_MINIMUM</span> = <span class="jde-java-font-lock-number">314</span>, | |||||
<span class="jde-java-font-lock-constant" id="WORD_SPACING_OPTIMUM">WORD_SPACING_OPTIMUM</span> = <span class="jde-java-font-lock-number">315</span>, | |||||
<span class="jde-java-font-lock-constant" id="WORD_SPACING_MAXIMUM">WORD_SPACING_MAXIMUM</span> = <span class="jde-java-font-lock-number">316</span>, | |||||
<span class="jde-java-font-lock-constant" id="WORD_SPACING_CONDITIONALITY">WORD_SPACING_CONDITIONALITY</span> = <span class="jde-java-font-lock-number">317</span>, | |||||
<span class="jde-java-font-lock-constant" id="WORD_SPACING_PRECEDENCE">WORD_SPACING_PRECEDENCE</span> = <span class="jde-java-font-lock-number">318</span>, | |||||
<span class="jde-java-font-lock-constant" id="WRAP_OPTION">WRAP_OPTION</span> = <span class="jde-java-font-lock-number">319</span>, | |||||
<span class="jde-java-font-lock-constant" id="Z_INDEX">Z_INDEX</span> = <span class="jde-java-font-lock-number">320</span>, | |||||
<span class="jde-java-font-lock-constant" id="LAST_PROPERTY_INDEX">LAST_PROPERTY_INDEX</span> = <span class="jde-java-font-lock-constant">Z_INDEX</span>; | |||||
<span class="comment">/** | |||||
* A String[] array containing the names of all of the FO properties. | |||||
* The array is effectively 1-based, as the first element is null. | |||||
* The list of int constants referring to the properties must be manually | |||||
* kept in sync with the names in this array, as the constants can be | |||||
* used to index into this, and the other property arrays. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span>[] <span class="variable-name" id="propertyNames">propertyNames</span> = { | |||||
"<span class="string">no-property</span>" <span class="comment">// 0 | |||||
</span> | |||||
,"<span class="string">column-number</span>" <span class="comment">// 1 | |||||
</span> ,"<span class="string">number-columns-spanned</span>" <span class="comment">// 2 | |||||
</span> | |||||
,"<span class="string">font</span>" <span class="comment">// 3 | |||||
</span> ,"<span class="string">font-size</span>" <span class="comment">// 4 | |||||
</span> | |||||
,"<span class="string">writing-mode</span>" <span class="comment">// 5 | |||||
</span> | |||||
,"<span class="string">background</span>" <span class="comment">// 6 | |||||
</span> ,"<span class="string">background-position</span>" <span class="comment">// 7 | |||||
</span> ,"<span class="string">border</span>" <span class="comment">// 8 | |||||
</span> ,"<span class="string">border-color</span>" <span class="comment">// 9 | |||||
</span> ,"<span class="string">border-style</span>" <span class="comment">// 10 | |||||
</span> ,"<span class="string">border-width</span>" <span class="comment">// 11 | |||||
</span> ,"<span class="string">border-bottom</span>" <span class="comment">// 12 | |||||
</span> ,"<span class="string">border-left</span>" <span class="comment">// 13 | |||||
</span> ,"<span class="string">border-right</span>" <span class="comment">// 14 | |||||
</span> ,"<span class="string">border-top</span>" <span class="comment">// 15 | |||||
</span> ,"<span class="string">border-spacing</span>" <span class="comment">// 16 | |||||
</span> ,"<span class="string">cue</span>" <span class="comment">// 17 | |||||
</span> ,"<span class="string">margin</span>" <span class="comment">// 18 | |||||
</span> ,"<span class="string">padding</span>" <span class="comment">// 19 | |||||
</span> ,"<span class="string">page-break-after</span>" <span class="comment">// 20 | |||||
</span> ,"<span class="string">page-break-before</span>" <span class="comment">// 21 | |||||
</span> ,"<span class="string">page-break-inside</span>" <span class="comment">// 22 | |||||
</span> ,"<span class="string">pause</span>" <span class="comment">// 23 | |||||
</span> ,"<span class="string">position</span>" <span class="comment">// 24 | |||||
</span> ,"<span class="string">size</span>" <span class="comment">// 25 | |||||
</span> ,"<span class="string">vertical-align</span>" <span class="comment">// 26 | |||||
</span> ,"<span class="string">white-space</span>" <span class="comment">// 27 | |||||
</span> ,"<span class="string">xml:lang</span>" <span class="comment">// 28 | |||||
</span> | |||||
,"<span class="string">absolute-position</span>" <span class="comment">// 29 | |||||
</span> ,"<span class="string">active-state</span>" <span class="comment">// 30 | |||||
</span> ,"<span class="string">alignment-adjust</span>" <span class="comment">// 31 | |||||
</span> ,"<span class="string">alignment-baseline</span>" <span class="comment">// 32 | |||||
</span> ,"<span class="string">auto-restore</span>" <span class="comment">// 33 | |||||
</span> ,"<span class="string">azimuth</span>" <span class="comment">// 34 | |||||
</span> ,"<span class="string">background-attachment</span>" <span class="comment">// 35 | |||||
</span> ,"<span class="string">background-color</span>" <span class="comment">// 36 | |||||
</span> ,"<span class="string">background-image</span>" <span class="comment">// 37 | |||||
</span> ,"<span class="string">background-position-horizontal</span>" <span class="comment">// 38 | |||||
</span> ,"<span class="string">background-position-vertical</span>" <span class="comment">// 39 | |||||
</span> ,"<span class="string">background-repeat</span>" <span class="comment">// 40 | |||||
</span> ,"<span class="string">baseline-shift</span>" <span class="comment">// 41 | |||||
</span> ,"<span class="string">blank-or-not-blank</span>" <span class="comment">// 42 | |||||
</span> ,"<span class="string">block-progression-dimension</span>" <span class="comment">// 43 | |||||
</span> ,"<span class="string">block-progression-dimension.minimum</span>" <span class="comment">// 44 | |||||
</span> ,"<span class="string">block-progression-dimension.optimum</span>" <span class="comment">// 45 | |||||
</span> ,"<span class="string">block-progression-dimension.maximum</span>" <span class="comment">// 46 | |||||
</span> | |||||
,"<span class="string">border-after-color</span>" <span class="comment">// 47 | |||||
</span> ,"<span class="string">border-after-precedence</span>" <span class="comment">// 48 | |||||
</span> ,"<span class="string">border-after-style</span>" <span class="comment">// 49 | |||||
</span> ,"<span class="string">border-after-width</span>" <span class="comment">// 50 | |||||
</span> ,"<span class="string">border-after-width.length</span>" <span class="comment">// 51 | |||||
</span> ,"<span class="string">border-after-width.conditionality</span>" <span class="comment">// 52 | |||||
</span> ,"<span class="string">border-before-color</span>" <span class="comment">// 53 | |||||
</span> ,"<span class="string">border-before-precedence</span>" <span class="comment">// 54 | |||||
</span> ,"<span class="string">border-before-style</span>" <span class="comment">// 55 | |||||
</span> ,"<span class="string">border-before-width</span>" <span class="comment">// 56 | |||||
</span> ,"<span class="string">border-before-width.length</span>" <span class="comment">// 57 | |||||
</span> ,"<span class="string">border-before-width.conditionality</span>" <span class="comment">// 58 | |||||
</span> ,"<span class="string">border-end-color</span>" <span class="comment">// 59 | |||||
</span> ,"<span class="string">border-end-precedence</span>" <span class="comment">// 60 | |||||
</span> ,"<span class="string">border-end-style</span>" <span class="comment">// 61 | |||||
</span> ,"<span class="string">border-end-width</span>" <span class="comment">// 62 | |||||
</span> ,"<span class="string">border-end-width.length</span>" <span class="comment">// 63 | |||||
</span> ,"<span class="string">border-end-width.conditionality</span>" <span class="comment">// 64 | |||||
</span> ,"<span class="string">border-start-color</span>" <span class="comment">// 65 | |||||
</span> ,"<span class="string">border-start-precedence</span>" <span class="comment">// 66 | |||||
</span> ,"<span class="string">border-start-style</span>" <span class="comment">// 67 | |||||
</span> ,"<span class="string">border-start-width</span>" <span class="comment">// 68 | |||||
</span> ,"<span class="string">border-start-width.length</span>" <span class="comment">// 69 | |||||
</span> ,"<span class="string">border-start-width.conditionality</span>" <span class="comment">// 70 | |||||
</span> | |||||
,"<span class="string">border-bottom-color</span>" <span class="comment">// 71 | |||||
</span> ,"<span class="string">border-bottom-style</span>" <span class="comment">// 72 | |||||
</span> ,"<span class="string">border-bottom-width</span>" <span class="comment">// 73 | |||||
</span> ,"<span class="string">border-left-color</span>" <span class="comment">// 74 | |||||
</span> ,"<span class="string">border-left-style</span>" <span class="comment">// 75 | |||||
</span> ,"<span class="string">border-left-width</span>" <span class="comment">// 76 | |||||
</span> ,"<span class="string">border-right-color</span>" <span class="comment">// 77 | |||||
</span> ,"<span class="string">border-right-style</span>" <span class="comment">// 78 | |||||
</span> ,"<span class="string">border-right-width</span>" <span class="comment">// 79 | |||||
</span> ,"<span class="string">border-top-color</span>" <span class="comment">// 80 | |||||
</span> ,"<span class="string">border-top-style</span>" <span class="comment">// 81 | |||||
</span> ,"<span class="string">border-top-width</span>" <span class="comment">// 82 | |||||
</span> | |||||
,"<span class="string">border-collapse</span>" <span class="comment">// 83 | |||||
</span> ,"<span class="string">border-separation</span>" <span class="comment">// 84 | |||||
</span> ,"<span class="string">border-separation.block-progression-direction</span>" <span class="comment">// 85 | |||||
</span> ,"<span class="string">border-separation.inline-progression-direction</span>" <span class="comment">// 86 | |||||
</span> ,"<span class="string">bottom</span>" <span class="comment">// 87 | |||||
</span> ,"<span class="string">break-after</span>" <span class="comment">// 88 | |||||
</span> ,"<span class="string">break-before</span>" <span class="comment">// 89 | |||||
</span> ,"<span class="string">caption-side</span>" <span class="comment">// 90 | |||||
</span> ,"<span class="string">case-name</span>" <span class="comment">// 91 | |||||
</span> ,"<span class="string">case-title</span>" <span class="comment">// 92 | |||||
</span> ,"<span class="string">character</span>" <span class="comment">// 93 | |||||
</span> ,"<span class="string">clear</span>" <span class="comment">// 94 | |||||
</span> ,"<span class="string">clip</span>" <span class="comment">// 95 | |||||
</span> ,"<span class="string">color</span>" <span class="comment">// 96 | |||||
</span> ,"<span class="string">color-profile-name</span>" <span class="comment">// 97 | |||||
</span> ,"<span class="string">column-count</span>" <span class="comment">// 98 | |||||
</span> ,"<span class="string">column-gap</span>" <span class="comment">// 99 | |||||
</span> ,"<span class="string">column-width</span>" <span class="comment">// 100 | |||||
</span> ,"<span class="string">content-height</span>" <span class="comment">// 101 | |||||
</span> ,"<span class="string">content-type</span>" <span class="comment">// 102 | |||||
</span> ,"<span class="string">content-width</span>" <span class="comment">// 103 | |||||
</span> ,"<span class="string">country</span>" <span class="comment">// 104 | |||||
</span> ,"<span class="string">cue-after</span>" <span class="comment">// 105 | |||||
</span> ,"<span class="string">cue-before</span>" <span class="comment">// 106 | |||||
</span> ,"<span class="string">destination-placement-offset</span>" <span class="comment">// 107 | |||||
</span> ,"<span class="string">direction</span>" <span class="comment">// 108 | |||||
</span> ,"<span class="string">display-align</span>" <span class="comment">// 109 | |||||
</span> ,"<span class="string">dominant-baseline</span>" <span class="comment">// 110 | |||||
</span> ,"<span class="string">elevation</span>" <span class="comment">// 111 | |||||
</span> ,"<span class="string">empty-cells</span>" <span class="comment">// 112 | |||||
</span> ,"<span class="string">end-indent</span>" <span class="comment">// 113 | |||||
</span> ,"<span class="string">ends-row</span>" <span class="comment">// 114 | |||||
</span> ,"<span class="string">extent</span>" <span class="comment">// 115 | |||||
</span> ,"<span class="string">external-destination</span>" <span class="comment">// 116 | |||||
</span> ,"<span class="string">float</span>" <span class="comment">// 117 | |||||
</span> ,"<span class="string">flow-name</span>" <span class="comment">// 118 | |||||
</span> ,"<span class="string">font-family</span>" <span class="comment">// 119 | |||||
</span> ,"<span class="string">font-selection-strategy</span>" <span class="comment">// 120 | |||||
</span> ,"<span class="string">font-size-adjust</span>" <span class="comment">// 121 | |||||
</span> ,"<span class="string">font-stretch</span>" <span class="comment">// 122 | |||||
</span> ,"<span class="string">font-style</span>" <span class="comment">// 123 | |||||
</span> ,"<span class="string">font-variant</span>" <span class="comment">// 124 | |||||
</span> ,"<span class="string">font-weight</span>" <span class="comment">// 125 | |||||
</span> ,"<span class="string">force-page-count</span>" <span class="comment">// 126 | |||||
</span> ,"<span class="string">format</span>" <span class="comment">// 127 | |||||
</span> ,"<span class="string">glyph-orientation-horizontal</span>" <span class="comment">// 128 | |||||
</span> ,"<span class="string">glyph-orientation-vertical</span>" <span class="comment">// 129 | |||||
</span> ,"<span class="string">grouping-separator</span>" <span class="comment">// 130 | |||||
</span> ,"<span class="string">grouping-size</span>" <span class="comment">// 131 | |||||
</span> ,"<span class="string">height</span>" <span class="comment">// 132 | |||||
</span> ,"<span class="string">hyphenate</span>" <span class="comment">// 133 | |||||
</span> ,"<span class="string">hyphenation-character</span>" <span class="comment">// 134 | |||||
</span> ,"<span class="string">hyphenation-keep</span>" <span class="comment">// 135 | |||||
</span> ,"<span class="string">hyphenation-ladder-count</span>" <span class="comment">// 136 | |||||
</span> ,"<span class="string">hyphenation-push-character-count</span>" <span class="comment">// 137 | |||||
</span> ,"<span class="string">hyphenation-remain-character-count</span>" <span class="comment">// 138 | |||||
</span> ,"<span class="string">id</span>" <span class="comment">// 139 | |||||
</span> ,"<span class="string">indicate-destination</span>" <span class="comment">// 140 | |||||
</span> ,"<span class="string">initial-page-number</span>" <span class="comment">// 141 | |||||
</span> ,"<span class="string">inline-progression-dimension</span>" <span class="comment">// 142 | |||||
</span> ,"<span class="string">inline-progression-dimension.minimum</span>" <span class="comment">// 143 | |||||
</span> ,"<span class="string">inline-progression-dimension.optimum</span>" <span class="comment">// 144 | |||||
</span> ,"<span class="string">inline-progression-dimension.maximum</span>" <span class="comment">// 145 | |||||
</span> ,"<span class="string">internal-destination</span>" <span class="comment">// 146 | |||||
</span> ,"<span class="string">intrusion-displace</span>" <span class="comment">// 147 | |||||
</span> ,"<span class="string">keep-together</span>" <span class="comment">// 148 | |||||
</span> ,"<span class="string">keep-together.within-line</span>" <span class="comment">// 149 | |||||
</span> ,"<span class="string">keep-together.within-column</span>" <span class="comment">// 150 | |||||
</span> ,"<span class="string">keep-together.within-page</span>" <span class="comment">// 151 | |||||
</span> ,"<span class="string">keep-with-next</span>" <span class="comment">// 152 | |||||
</span> ,"<span class="string">keep-with-next.within-line</span>" <span class="comment">// 153 | |||||
</span> ,"<span class="string">keep-with-next.within-column</span>" <span class="comment">// 154 | |||||
</span> ,"<span class="string">keep-with-next.within-page</span>" <span class="comment">// 155 | |||||
</span> ,"<span class="string">keep-with-previous</span>" <span class="comment">// 156 | |||||
</span> ,"<span class="string">keep-with-previous.within-line</span>" <span class="comment">// 157 | |||||
</span> ,"<span class="string">keep-with-previous.within-column</span>" <span class="comment">// 158 | |||||
</span> ,"<span class="string">keep-with-previous.within-page</span>" <span class="comment">// 159 | |||||
</span> ,"<span class="string">language</span>" <span class="comment">// 160 | |||||
</span> ,"<span class="string">last-line-end-indent</span>" <span class="comment">// 161 | |||||
</span> ,"<span class="string">leader-alignment</span>" <span class="comment">// 162 | |||||
</span> ,"<span class="string">leader-length</span>" <span class="comment">// 163 | |||||
</span> ,"<span class="string">leader-length.minimum</span>" <span class="comment">// 164 | |||||
</span> ,"<span class="string">leader-length.optimum</span>" <span class="comment">// 165 | |||||
</span> ,"<span class="string">leader-length.maximum</span>" <span class="comment">// 166 | |||||
</span> ,"<span class="string">leader-pattern</span>" <span class="comment">// 167 | |||||
</span> ,"<span class="string">leader-pattern-width</span>" <span class="comment">// 168 | |||||
</span> ,"<span class="string">left</span>" <span class="comment">// 169 | |||||
</span> ,"<span class="string">letter-spacing</span>" <span class="comment">// 170 | |||||
</span> ,"<span class="string">letter-spacing.minimum</span>" <span class="comment">// 171 | |||||
</span> ,"<span class="string">letter-spacing.optimum</span>" <span class="comment">// 172 | |||||
</span> ,"<span class="string">letter-spacing.maximum</span>" <span class="comment">// 173 | |||||
</span> ,"<span class="string">letter-spacing.conditionality</span>" <span class="comment">// 174 | |||||
</span> ,"<span class="string">letter-spacing.precedence</span>" <span class="comment">// 175 | |||||
</span> ,"<span class="string">letter-value</span>" <span class="comment">// 176 | |||||
</span> ,"<span class="string">linefeed-treatment</span>" <span class="comment">// 177 | |||||
</span> ,"<span class="string">line-height</span>" <span class="comment">// 178 | |||||
</span> ,"<span class="string">line-height.minimum</span>" <span class="comment">// 179 | |||||
</span> ,"<span class="string">line-height.optimum</span>" <span class="comment">// 180 | |||||
</span> ,"<span class="string">line-height.maximum</span>" <span class="comment">// 181 | |||||
</span> ,"<span class="string">line-height.conditionality</span>" <span class="comment">// 182 | |||||
</span> ,"<span class="string">line-height.precedence</span>" <span class="comment">// 183 | |||||
</span> ,"<span class="string">line-height-shift-adjustment</span>" <span class="comment">// 184 | |||||
</span> ,"<span class="string">line-stacking-strategy</span>" <span class="comment">// 185 | |||||
</span> | |||||
,"<span class="string">marker-class-name</span>" <span class="comment">// 186 | |||||
</span> ,"<span class="string">master-name</span>" <span class="comment">// 187 | |||||
</span> ,"<span class="string">master-reference</span>" <span class="comment">// 188 | |||||
</span> ,"<span class="string">max-height</span>" <span class="comment">// 189 | |||||
</span> ,"<span class="string">maximum-repeats</span>" <span class="comment">// 190 | |||||
</span> ,"<span class="string">max-width</span>" <span class="comment">// 191 | |||||
</span> ,"<span class="string">media-usage</span>" <span class="comment">// 192 | |||||
</span> ,"<span class="string">min-height</span>" <span class="comment">// 193 | |||||
</span> ,"<span class="string">min-width</span>" <span class="comment">// 194 | |||||
</span> ,"<span class="string">number-columns-repeated</span>" <span class="comment">// 195 | |||||
</span> ,"<span class="string">number-rows-spanned</span>" <span class="comment">// 196 | |||||
</span> ,"<span class="string">odd-or-even</span>" <span class="comment">// 197 | |||||
</span> ,"<span class="string">orphans</span>" <span class="comment">// 198 | |||||
</span> ,"<span class="string">overflow</span>" <span class="comment">// 199 | |||||
</span> | |||||
,"<span class="string">padding-after</span>" <span class="comment">// 200 | |||||
</span> ,"<span class="string">padding-after.length</span>" <span class="comment">// 201 | |||||
</span> ,"<span class="string">padding-after.conditionality</span>" <span class="comment">// 202 | |||||
</span> ,"<span class="string">padding-before</span>" <span class="comment">// 203 | |||||
</span> ,"<span class="string">padding-before.length</span>" <span class="comment">// 204 | |||||
</span> ,"<span class="string">padding-before.conditionality</span>" <span class="comment">// 205 | |||||
</span> ,"<span class="string">padding-end</span>" <span class="comment">// 206 | |||||
</span> ,"<span class="string">padding-end.length</span>" <span class="comment">// 207 | |||||
</span> ,"<span class="string">padding-end.conditionality</span>" <span class="comment">// 208 | |||||
</span> ,"<span class="string">padding-start</span>" <span class="comment">// 209 | |||||
</span> ,"<span class="string">padding-start.length</span>" <span class="comment">// 210 | |||||
</span> ,"<span class="string">padding-start.conditionality</span>" <span class="comment">// 211 | |||||
</span> | |||||
,"<span class="string">padding-bottom</span>" <span class="comment">// 212 | |||||
</span> ,"<span class="string">padding-left</span>" <span class="comment">// 213 | |||||
</span> ,"<span class="string">padding-right</span>" <span class="comment">// 214 | |||||
</span> ,"<span class="string">padding-top</span>" <span class="comment">// 215 | |||||
</span> | |||||
,"<span class="string">page-height</span>" <span class="comment">// 216 | |||||
</span> ,"<span class="string">page-position</span>" <span class="comment">// 217 | |||||
</span> ,"<span class="string">page-width</span>" <span class="comment">// 218 | |||||
</span> ,"<span class="string">pause-after</span>" <span class="comment">// 219 | |||||
</span> ,"<span class="string">pause-before</span>" <span class="comment">// 220 | |||||
</span> ,"<span class="string">pitch</span>" <span class="comment">// 221 | |||||
</span> ,"<span class="string">pitch-range</span>" <span class="comment">// 222 | |||||
</span> ,"<span class="string">play-during</span>" <span class="comment">// 223 | |||||
</span> ,"<span class="string">precedence</span>" <span class="comment">// 224 | |||||
</span> ,"<span class="string">provisional-distance-between-starts</span>" <span class="comment">// 225 | |||||
</span> ,"<span class="string">provisional-label-separation</span>" <span class="comment">// 226 | |||||
</span> ,"<span class="string">reference-orientation</span>" <span class="comment">// 227 | |||||
</span> ,"<span class="string">ref-id</span>" <span class="comment">// 228 | |||||
</span> ,"<span class="string">region-name</span>" <span class="comment">// 229 | |||||
</span> ,"<span class="string">relative-align</span>" <span class="comment">// 230 | |||||
</span> ,"<span class="string">relative-position</span>" <span class="comment">// 231 | |||||
</span> ,"<span class="string">rendering-intent</span>" <span class="comment">// 232 | |||||
</span> ,"<span class="string">retrieve-boundary</span>" <span class="comment">// 233 | |||||
</span> ,"<span class="string">retrieve-class-name</span>" <span class="comment">// 234 | |||||
</span> ,"<span class="string">retrieve-position</span>" <span class="comment">// 235 | |||||
</span> ,"<span class="string">richness</span>" <span class="comment">// 236 | |||||
</span> ,"<span class="string">right</span>" <span class="comment">// 237 | |||||
</span> ,"<span class="string">role</span>" <span class="comment">// 238 | |||||
</span> ,"<span class="string">rule-style</span>" <span class="comment">// 239 | |||||
</span> ,"<span class="string">rule-thickness</span>" <span class="comment">// 240 | |||||
</span> ,"<span class="string">scaling</span>" <span class="comment">// 241 | |||||
</span> ,"<span class="string">scaling-method</span>" <span class="comment">// 242 | |||||
</span> ,"<span class="string">score-spaces</span>" <span class="comment">// 243 | |||||
</span> ,"<span class="string">script</span>" <span class="comment">// 244 | |||||
</span> ,"<span class="string">show-destination</span>" <span class="comment">// 245 | |||||
</span> ,"<span class="string">source-document</span>" <span class="comment">// 246 | |||||
</span> | |||||
,"<span class="string">space-after</span>" <span class="comment">// 247 | |||||
</span> ,"<span class="string">space-after.minimum</span>" <span class="comment">// 248 | |||||
</span> ,"<span class="string">space-after.optimum</span>" <span class="comment">// 249 | |||||
</span> ,"<span class="string">space-after.maximum</span>" <span class="comment">// 250 | |||||
</span> ,"<span class="string">space-after.conditionality</span>" <span class="comment">// 251 | |||||
</span> ,"<span class="string">space-after.precedence</span>" <span class="comment">// 252 | |||||
</span> ,"<span class="string">space-before</span>" <span class="comment">// 253 | |||||
</span> ,"<span class="string">space-before.minimum</span>" <span class="comment">// 254 | |||||
</span> ,"<span class="string">space-before.optimum</span>" <span class="comment">// 255 | |||||
</span> ,"<span class="string">space-before.maximum</span>" <span class="comment">// 256 | |||||
</span> ,"<span class="string">space-before.conditionality</span>" <span class="comment">// 257 | |||||
</span> ,"<span class="string">space-before.precedence</span>" <span class="comment">// 258 | |||||
</span> ,"<span class="string">space-end</span>" <span class="comment">// 259 | |||||
</span> ,"<span class="string">space-end.minimum</span>" <span class="comment">// 260 | |||||
</span> ,"<span class="string">space-end.optimum</span>" <span class="comment">// 261 | |||||
</span> ,"<span class="string">space-end.maximum</span>" <span class="comment">// 262 | |||||
</span> ,"<span class="string">space-end.conditionality</span>" <span class="comment">// 263 | |||||
</span> ,"<span class="string">space-end.precedence</span>" <span class="comment">// 264 | |||||
</span> ,"<span class="string">space-start</span>" <span class="comment">// 265 | |||||
</span> ,"<span class="string">space-start.minimum</span>" <span class="comment">// 266 | |||||
</span> ,"<span class="string">space-start.optimum</span>" <span class="comment">// 267 | |||||
</span> ,"<span class="string">space-start.maximum</span>" <span class="comment">// 268 | |||||
</span> ,"<span class="string">space-start.conditionality</span>" <span class="comment">// 269 | |||||
</span> ,"<span class="string">space-start.precedence</span>" <span class="comment">// 270 | |||||
</span> | |||||
,"<span class="string">margin-bottom</span>" <span class="comment">// 271 | |||||
</span> ,"<span class="string">margin-left</span>" <span class="comment">// 272 | |||||
</span> ,"<span class="string">margin-right</span>" <span class="comment">// 273 | |||||
</span> ,"<span class="string">margin-top</span>" <span class="comment">// 274 | |||||
</span> | |||||
,"<span class="string">span</span>" <span class="comment">// 275 | |||||
</span> ,"<span class="string">speak</span>" <span class="comment">// 276 | |||||
</span> ,"<span class="string">speak-header</span>" <span class="comment">// 277 | |||||
</span> ,"<span class="string">speak-numeral</span>" <span class="comment">// 278 | |||||
</span> ,"<span class="string">speak-punctuation</span>" <span class="comment">// 279 | |||||
</span> ,"<span class="string">speech-rate</span>" <span class="comment">// 280 | |||||
</span> ,"<span class="string">src</span>" <span class="comment">// 281 | |||||
</span> ,"<span class="string">start-indent</span>" <span class="comment">// 282 | |||||
</span> ,"<span class="string">starting-state</span>" <span class="comment">// 283 | |||||
</span> ,"<span class="string">starts-row</span>" <span class="comment">// 284 | |||||
</span> ,"<span class="string">stress</span>" <span class="comment">// 285 | |||||
</span> ,"<span class="string">suppress-at-line-break</span>" <span class="comment">// 286 | |||||
</span> ,"<span class="string">switch-to</span>" <span class="comment">// 287 | |||||
</span> ,"<span class="string">table-layout</span>" <span class="comment">// 288 | |||||
</span> ,"<span class="string">table-omit-footer-at-break</span>" <span class="comment">// 289 | |||||
</span> ,"<span class="string">table-omit-header-at-break</span>" <span class="comment">// 290 | |||||
</span> ,"<span class="string">target-presentation-context</span>" <span class="comment">// 291 | |||||
</span> ,"<span class="string">target-processing-context</span>" <span class="comment">// 292 | |||||
</span> ,"<span class="string">target-stylesheet</span>" <span class="comment">// 293 | |||||
</span> ,"<span class="string">text-align</span>" <span class="comment">// 294 | |||||
</span> ,"<span class="string">text-align-last</span>" <span class="comment">// 295 | |||||
</span> ,"<span class="string">text-altitude</span>" <span class="comment">// 296 | |||||
</span> ,"<span class="string">text-decoration</span>" <span class="comment">// 297 | |||||
</span> ,"<span class="string">text-depth</span>" <span class="comment">// 298 | |||||
</span> ,"<span class="string">text-indent</span>" <span class="comment">// 299 | |||||
</span> ,"<span class="string">text-shadow</span>" <span class="comment">// 300 | |||||
</span> ,"<span class="string">text-transform</span>" <span class="comment">// 301 | |||||
</span> ,"<span class="string">top</span>" <span class="comment">// 302 | |||||
</span> ,"<span class="string">treat-as-word-space</span>" <span class="comment">// 303 | |||||
</span> ,"<span class="string">unicode-bidi</span>" <span class="comment">// 304 | |||||
</span> ,"<span class="string">usage-context-of-suppress-at-line-break</span>" <span class="comment">// 305 | |||||
</span> ,"<span class="string">visibility</span>" <span class="comment">// 306 | |||||
</span> ,"<span class="string">voice-family</span>" <span class="comment">// 307 | |||||
</span> ,"<span class="string">volume</span>" <span class="comment">// 308 | |||||
</span> ,"<span class="string">white-space-collapse</span>" <span class="comment">// 309 | |||||
</span> ,"<span class="string">white-space-treatment</span>" <span class="comment">// 310 | |||||
</span> ,"<span class="string">widows</span>" <span class="comment">// 311 | |||||
</span> ,"<span class="string">width</span>" <span class="comment">// 312 | |||||
</span> ,"<span class="string">word-spacing</span>" <span class="comment">// 313 | |||||
</span> ,"<span class="string">word-spacing-minimum</span>" <span class="comment">// 314 | |||||
</span> ,"<span class="string">word-spacing-optimum</span>" <span class="comment">// 315 | |||||
</span> ,"<span class="string">word-spacing-maximum</span>" <span class="comment">// 316 | |||||
</span> ,"<span class="string">word-spacing-conditionality</span>" <span class="comment">// 317 | |||||
</span> ,"<span class="string">word-spacing-precedence</span>" <span class="comment">// 318 | |||||
</span> ,"<span class="string">wrap-option</span>" <span class="comment">// 319 | |||||
</span> ,"<span class="string">z-index</span>" <span class="comment">// 320 | |||||
</span> }; | |||||
<span class="comment">/** | |||||
* A <tt>hashMap</tt> mapping property names (the keys) to | |||||
* property integer indices. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">HashMap</span> <span class="variable-name" id="toIndex">toIndex</span>; | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
toIndex = <span class="keyword">new</span> <span class="type">HashMap</span>(<span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span> + <span class="jde-java-font-lock-number">1</span>); | |||||
<span class="comment">// Set up the toIndex Hashmap with the name of the | |||||
</span> <span class="comment">// property as a key, and the integer index as a value | |||||
</span> <span class="keyword">for</span> (<span class="type">int</span> <span class="variable-name" id="i">i</span> = <span class="jde-java-font-lock-number">0</span>; i <= <span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>; i++) { | |||||
<span class="keyword">if</span> (toIndex.put(propertyNames[i], | |||||
Ints.consts.get(i)) != <span class="jde-java-font-lock-constant" id="null">null</span>) { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">RuntimeException</span>( | |||||
"<span class="string">Duplicate values in toIndex for key </span>" + | |||||
propertyNames[i]); | |||||
} | |||||
} | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="propindex">propindex</span><span class="comment"> <tt>int</tt> index of the FO property. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> <tt>String</tt> name of the indexd FO property. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">PropertyException</span><span class="comment"> if the property index is invalid. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">String</span> <span class="function-name" id="getPropertyName">getPropertyName</span>(<span class="type">int</span> <span class="variable-name">propindex</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="keyword">if</span> (propindex < <span class="jde-java-font-lock-number">0</span> || propindex > <span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> | |||||
("<span class="string">getPropertyName: index is invalid: </span>" + propindex); | |||||
<span class="keyword">return</span> propertyNames[propindex]; | |||||
} | |||||
<span class="comment">/** | |||||
* Get the property index of a property name. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">propindex</span><span class="comment"> <tt>int</tt> index of the FO property. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> <tt>String</tt> name of the indexd FO property. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">PropertyException</span><span class="comment"> if the property index is invalid. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">int</span> <span class="function-name" id="getPropertyIndex">getPropertyIndex</span>(<span class="type">String</span> <span class="variable-name" id="name">name</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="type">Integer</span> <span class="variable-name" id="intg">intg</span> = (<span class="type">Integer</span>)(toIndex.get(name)); | |||||
<span class="keyword">if</span> (intg == <span class="jde-java-font-lock-constant">null</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> | |||||
("<span class="string">Property name '</span>" + name + "<span class="string">' is unknown.</span>"); | |||||
<span class="keyword">return</span> intg.intValue(); | |||||
} | |||||
} | |||||
</pre> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |||||
<title>PropertyConsts Description</title> | |||||
<style type= "text/css" > | |||||
span.codeDisplay {font:italic bold} | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" | |||||
text="#000000" bgcolor="#FFFFFF"> | |||||
<div class="content"> | |||||
<h1>PropertyConsts Description</h1> | |||||
<p> | |||||
<font size="-2">by Peter B. West</font> | |||||
</p> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10014">Introduction</a> | |||||
</li> | |||||
</ul> | |||||
<a name="N10014"></a> | |||||
<h3>Introduction</h3> | |||||
<p> | |||||
<a href="javascript:parent.displayCode( | |||||
'PropertyConsts.html#PropertyConstsClass' | |||||
)">This class</a>, and the singleton object which is <a | |||||
href="javascript:parent.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( | |||||
'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 | |||||
singleton must be called to ensure that an instance of the | |||||
property exists and that the static data from that instance | |||||
has been extracted. | |||||
</p> | |||||
<div class="frame note"> | |||||
<div class="label">Note</div> | |||||
<div class="content"> | |||||
An alternative to this requirement would be to pre-load all | |||||
of the individual property classes during the system | |||||
initialization phase. This is not done currently because of | |||||
the start-up expense of the required class loading for over | |||||
three hundred classes, and the relatively low added expense | |||||
of checking for the existence of a property instance before | |||||
every access. Given that FOP is increasingly used in a | |||||
server environment, it may prove acceptable in the long run | |||||
to change to pre-loading. | |||||
</div> | |||||
</div> | |||||
<p> | |||||
The class name is generated and stored in the <a | |||||
href="javascript:parent.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( | |||||
'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( | |||||
'PropertyConsts.html#properties' )"><span class="codefrag" | |||||
>properties</span ></a> array. | |||||
</p> | |||||
<p> | |||||
The other data gathering facilities and access methods of this | |||||
class will be examined in conjunction with the various types | |||||
of property classes. | |||||
</p> | |||||
<p> | |||||
<strong>Previous:</strong> <a href = "classes-overview.html" | |||||
>Property classes overview</a> | |||||
</p> | |||||
<p> | |||||
<strong>Next:</strong> <a href= "simple-properties.html" | |||||
>Simple property classes</a> | |||||
</p> | |||||
</div> | |||||
<table summary="footer" cellspacing="0" cellpadding="0" | |||||
width="100%" height="20" border="0"> | |||||
<tr> | |||||
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" width="1" alt="" src="../../skin/images/spacer.gif"><a href="../../skin/images/label.gif"></a><a href="../../skin/images/page.gif"></a><a href="../../skin/images/chapter.gif"></a><a href="../../skin/images/chapter_open.gif"></a><a href="../../skin/images/current.gif"></a><a href="../..//favicon.ico"></a></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="2" bgcolor="#CFDCED" class="copyright" align="center"><font size="2" face="Arial, Helvetica, Sans-Serif">Copyright © | |||||
1999-2002 The Apache Software Foundation. All rights reserved.<script type="text/javascript" language="JavaScript"><!-- | |||||
document.write(" - "+"Last Published: " + document.lastModified); | |||||
// --></script></font></td> | |||||
</tr> | |||||
<tr> | |||||
<td align="left" bgcolor="#CFDCED" class="logos"></td><td align="right" bgcolor="#CFDCED" class="logos"></td> | |||||
</tr> | |||||
</table> | |||||
</body> | |||||
</html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> | |||||
<!-- Created by htmlize-0.67 in css mode. --> | |||||
<html> | |||||
<head> | |||||
<title>PropertySets.java</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
color: #000000; | |||||
background-color: #faf0e6; | |||||
} /* default */ | |||||
.jde-java-font-lock-modifier { | |||||
color: #da70d6; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-modifier-face */ | |||||
.keyword { | |||||
color: #8b0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-keyword-face */ | |||||
.jde-java-font-lock-link { | |||||
color: #0000ff; | |||||
background-color: #faf0e6; | |||||
text-decoration: underline; | |||||
} /* jde-java-font-lock-link-face */ | |||||
.variable-name { | |||||
color: #8b008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-variable-name-face */ | |||||
.string { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-string-face */ | |||||
.jde-java-font-lock-package { | |||||
color: #0000cd; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-package-face */ | |||||
.jde-java-font-lock-constant { | |||||
color: #5f9ea0; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-constant-face */ | |||||
.type { | |||||
color: #4682b4; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-type-face */ | |||||
.jde-java-font-lock-bold { | |||||
background-color: #faf0e6; | |||||
font-weight: bold; | |||||
} /* jde-java-font-lock-bold-face */ | |||||
.jde-java-font-lock-doc-tag { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-doc-tag-face */ | |||||
.comment { | |||||
color: #00008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-comment-face */ | |||||
.function-name { | |||||
color: #8b2323; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-function-name-face */ | |||||
a { | |||||
color: inherit; | |||||
background-color: inherit; | |||||
font: inherit; | |||||
text-decoration: inherit; | |||||
} | |||||
a:hover { | |||||
text-decoration: underline; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<pre> | |||||
<span class="comment">/** | |||||
* $Id$ | |||||
* <br/>Copyright (C) 2001 The Apache Software Foundation. All rights reserved. | |||||
* <br/>For details on use and redistribution please refer to the | |||||
* <br/>LICENSE file included with these sources. | |||||
* | |||||
* </span><span class="jde-java-font-lock-doc-tag">@author</span><span class="comment"> <a href="mailto:pbwest@powerup.com.au"></span><span class="jde-java-font-lock-link">Peter B. West</span><span class="comment"></a> | |||||
* </span><span class="jde-java-font-lock-doc-tag">@version</span><span class="comment"> $Revision$ $Name$ | |||||
*/</span> | |||||
<span class="keyword">package</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">BitSet</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">PropNames</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datastructs</span>.<span class="type">ROBitSet</span>; | |||||
<span class="comment">/** | |||||
* This class contains <tt>ROBitSet</tt>s which encode the various sets of | |||||
* properties which are defined to apply to each of the Flow Objects. These | |||||
* <tt>ROBitSet</tt>s provide a convenient means of specifying the | |||||
* relationship between FOs and properties. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="keyword">class</span> <span class="function-name" id="PropertySetsClass">PropertySets</span> { | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="tag">tag</span> = "<span class="string">$Name$</span>"; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="revision">revision</span> = "<span class="string">$Revision$</span>"; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="packageName">packageName</span> = "<span class="string">org.apache.fop.fo</span>"; | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Accessibility Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="accessibilityProps">accessibilityProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="accessibilitySet">accessibilitySet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="accessibilitySetClone">accessibilitySetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(accessibilityProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
accessibilityProps.set(PropNames.<span class="jde-java-font-lock-constant" id="ROLE">ROLE</span>); | |||||
accessibilityProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SOURCE_DOCUMENT">SOURCE_DOCUMENT</span>); | |||||
accessibilitySet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(accessibilityProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Absolute Position Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="absolutePositionProps">absolutePositionProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="absolutePositionSet">absolutePositionSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="absolutePositionSetClone">absolutePositionSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(absolutePositionProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
absolutePositionProps.set(PropNames.<span class="jde-java-font-lock-constant" id="ABSOLUTE_POSITION">ABSOLUTE_POSITION</span>); | |||||
absolutePositionProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BOTTOM">BOTTOM</span>); | |||||
absolutePositionProps.set(PropNames.<span class="jde-java-font-lock-constant" id="LEFT">LEFT</span>); | |||||
absolutePositionProps.set(PropNames.<span class="jde-java-font-lock-constant" id="RIGHT">RIGHT</span>); | |||||
absolutePositionProps.set(PropNames.<span class="jde-java-font-lock-constant" id="TOP">TOP</span>); | |||||
absolutePositionSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(absolutePositionProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Aural Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="auralProps">auralProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="auralSet">auralSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="auralSetClone">auralSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(auralProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="AZIMUTH">AZIMUTH</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="CUE_AFTER">CUE_AFTER</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="CUE_BEFORE">CUE_BEFORE</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="ELEVATION">ELEVATION</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PAUSE_AFTER">PAUSE_AFTER</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PAUSE_BEFORE">PAUSE_BEFORE</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PITCH">PITCH</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PITCH_RANGE">PITCH_RANGE</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PLAY_DURING">PLAY_DURING</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="RICHNESS">RICHNESS</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SPEAK">SPEAK</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SPEAK_HEADER">SPEAK_HEADER</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SPEAK_NUMERAL">SPEAK_NUMERAL</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SPEAK_PUNCTUATION">SPEAK_PUNCTUATION</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SPEECH_RATE">SPEECH_RATE</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="STRESS">STRESS</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="VOICE_FAMILY">VOICE_FAMILY</span>); | |||||
auralProps.set(PropNames.<span class="jde-java-font-lock-constant" id="VOLUME">VOLUME</span>); | |||||
auralSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(auralProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Background Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="backgroundProps">backgroundProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="backgroundSet">backgroundSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="backgroundSetClone">backgroundSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(backgroundProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND">BACKGROUND</span>); | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND_ATTACHMENT">BACKGROUND_ATTACHMENT</span>); | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND_COLOR">BACKGROUND_COLOR</span>); | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND_IMAGE">BACKGROUND_IMAGE</span>); | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND_POSITION">BACKGROUND_POSITION</span>); | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND_POSITION_HORIZONTAL">BACKGROUND_POSITION_HORIZONTAL</span>); | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND_POSITION_VERTICAL">BACKGROUND_POSITION_VERTICAL</span>); | |||||
backgroundProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BACKGROUND_REPEAT">BACKGROUND_REPEAT</span>); | |||||
backgroundSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(backgroundProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Border Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="borderProps">borderProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="borderSet">borderSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="borderSetClone">borderSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(borderProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER">BORDER</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_AFTER_COLOR">BORDER_AFTER_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_AFTER_STYLE">BORDER_AFTER_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_AFTER_WIDTH">BORDER_AFTER_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_AFTER_WIDTH_LENGTH">BORDER_AFTER_WIDTH_LENGTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_AFTER_WIDTH_CONDITIONALITY">BORDER_AFTER_WIDTH_CONDITIONALITY</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_COLOR">BORDER_BEFORE_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_STYLE">BORDER_BEFORE_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_WIDTH">BORDER_BEFORE_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_WIDTH_LENGTH">BORDER_BEFORE_WIDTH_LENGTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_WIDTH_CONDITIONALITY">BORDER_BEFORE_WIDTH_CONDITIONALITY</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM">BORDER_BOTTOM</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM_COLOR">BORDER_BOTTOM_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM_STYLE">BORDER_BOTTOM_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BOTTOM_WIDTH">BORDER_BOTTOM_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_COLOR">BORDER_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_END_COLOR">BORDER_END_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_END_STYLE">BORDER_END_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_END_WIDTH">BORDER_END_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_END_WIDTH_LENGTH">BORDER_END_WIDTH_LENGTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_END_WIDTH_CONDITIONALITY">BORDER_END_WIDTH_CONDITIONALITY</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_LEFT">BORDER_LEFT</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_LEFT_COLOR">BORDER_LEFT_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_LEFT_STYLE">BORDER_LEFT_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_LEFT_WIDTH">BORDER_LEFT_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_RIGHT">BORDER_RIGHT</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_RIGHT_COLOR">BORDER_RIGHT_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_RIGHT_STYLE">BORDER_RIGHT_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_RIGHT_WIDTH">BORDER_RIGHT_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_START_COLOR">BORDER_START_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_START_STYLE">BORDER_START_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_START_WIDTH">BORDER_START_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_START_WIDTH_LENGTH">BORDER_START_WIDTH_LENGTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_START_WIDTH_CONDITIONALITY">BORDER_START_WIDTH_CONDITIONALITY</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_STYLE">BORDER_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_TOP">BORDER_TOP</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_TOP_COLOR">BORDER_TOP_COLOR</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_TOP_STYLE">BORDER_TOP_STYLE</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_TOP_WIDTH">BORDER_TOP_WIDTH</span>); | |||||
borderProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_WIDTH">BORDER_WIDTH</span>); | |||||
borderSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(borderProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Font Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="fontProps">fontProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="fontSet">fontSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="fontSetClone">fontSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(fontProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT">FONT</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_FAMILY">FONT_FAMILY</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_SELECTION_STRATEGY">FONT_SELECTION_STRATEGY</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_SIZE">FONT_SIZE</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_SIZE_ADJUST">FONT_SIZE_ADJUST</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_STRETCH">FONT_STRETCH</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_STYLE">FONT_STYLE</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_VARIANT">FONT_VARIANT</span>); | |||||
fontProps.set(PropNames.<span class="jde-java-font-lock-constant" id="FONT_WEIGHT">FONT_WEIGHT</span>); | |||||
fontSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(fontProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Hyphenation Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="hyphenationProps">hyphenationProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="hyphenationSet">hyphenationSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="hyphenationSetClone">hyphenationSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(hyphenationProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
hyphenationProps.set(PropNames.<span class="jde-java-font-lock-constant" id="COUNTRY">COUNTRY</span>); | |||||
hyphenationProps.set(PropNames.<span class="jde-java-font-lock-constant" id="LANGUAGE">LANGUAGE</span>); | |||||
hyphenationProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SCRIPT">SCRIPT</span>); | |||||
hyphenationProps.set(PropNames.<span class="jde-java-font-lock-constant" id="HYPHENATE">HYPHENATE</span>); | |||||
hyphenationProps.set(PropNames.<span class="jde-java-font-lock-constant" id="HYPHENATION_CHARACTER">HYPHENATION_CHARACTER</span>); | |||||
hyphenationProps.set(PropNames.<span class="jde-java-font-lock-constant" id="HYPHENATION_PUSH_CHARACTER_COUNT">HYPHENATION_PUSH_CHARACTER_COUNT</span>); | |||||
hyphenationProps.set(PropNames.<span class="jde-java-font-lock-constant" id="HYPHENATION_REMAIN_CHARACTER_COUNT">HYPHENATION_REMAIN_CHARACTER_COUNT</span>); | |||||
hyphenationSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(hyphenationProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Margin-Block Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="marginBlockProps">marginBlockProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="marginBlockSet">marginBlockSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="marginBlockSetClone">marginBlockSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(marginBlockProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
marginBlockProps.set(PropNames.<span class="jde-java-font-lock-constant" id="MARGIN">MARGIN</span>); | |||||
marginBlockProps.set(PropNames.<span class="jde-java-font-lock-constant" id="MARGIN_BOTTOM">MARGIN_BOTTOM</span>); | |||||
marginBlockProps.set(PropNames.<span class="jde-java-font-lock-constant" id="MARGIN_LEFT">MARGIN_LEFT</span>); | |||||
marginBlockProps.set(PropNames.<span class="jde-java-font-lock-constant" id="MARGIN_RIGHT">MARGIN_RIGHT</span>); | |||||
marginBlockProps.set(PropNames.<span class="jde-java-font-lock-constant" id="MARGIN_TOP">MARGIN_TOP</span>); | |||||
marginBlockSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(marginBlockProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Margin-Inline Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="marginInlineProps">marginInlineProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="marginInlineSet">marginInlineSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="marginInlineSetClone">marginInlineSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(marginInlineProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
marginInlineProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SPACE_END">SPACE_END</span>); | |||||
marginInlineProps.set(PropNames.<span class="jde-java-font-lock-constant" id="SPACE_START">SPACE_START</span>); | |||||
marginInlineSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(marginInlineProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Padding Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="paddingProps">paddingProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="paddingSet">paddingSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="paddingSetClone">paddingSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(paddingProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING">PADDING</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_AFTER">PADDING_AFTER</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_AFTER_LENGTH">PADDING_AFTER_LENGTH</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_AFTER_CONDITIONALITY">PADDING_AFTER_CONDITIONALITY</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_BEFORE">PADDING_BEFORE</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_BEFORE_LENGTH">PADDING_BEFORE_LENGTH</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_BEFORE_CONDITIONALITY">PADDING_BEFORE_CONDITIONALITY</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_BOTTOM">PADDING_BOTTOM</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_END">PADDING_END</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_END_LENGTH">PADDING_END_LENGTH</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_END_CONDITIONALITY">PADDING_END_CONDITIONALITY</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_LEFT">PADDING_LEFT</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_RIGHT">PADDING_RIGHT</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_START">PADDING_START</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_START_LENGTH">PADDING_START_LENGTH</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_START_CONDITIONALITY">PADDING_START_CONDITIONALITY</span>); | |||||
paddingProps.set(PropNames.<span class="jde-java-font-lock-constant" id="PADDING_TOP">PADDING_TOP</span>); | |||||
paddingSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(paddingProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Relative Position Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="relativePositionProps">relativePositionProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="relativePositionSet">relativePositionSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="relativePositionSetClone">relativePositionSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(relativePositionProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
relativePositionProps.set(PropNames.<span class="jde-java-font-lock-constant" id="RELATIVE_POSITION">RELATIVE_POSITION</span>); | |||||
relativePositionProps.set(PropNames.<span class="jde-java-font-lock-constant">BOTTOM</span>); | |||||
relativePositionProps.set(PropNames.<span class="jde-java-font-lock-constant">LEFT</span>); | |||||
relativePositionProps.set(PropNames.<span class="jde-java-font-lock-constant">RIGHT</span>); | |||||
relativePositionProps.set(PropNames.<span class="jde-java-font-lock-constant">TOP</span>); | |||||
relativePositionSet = | |||||
<span class="keyword">new</span> <span class="type">ROBitSet</span>(relativePositionProps); | |||||
} | |||||
<span class="comment">/** | |||||
* <tt>BitSet</tt> of the <tt>Integer</tt> objects corresponding to the | |||||
* constant index of each property in the set of | |||||
* <b></span><span class="jde-java-font-lock-bold">Common Table Properties</span><span class="comment"></b>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">BitSet</span> <span class="variable-name" id="tableProps">tableProps</span> = <span class="keyword">new</span> <span class="type">BitSet</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROBitSet</span> <span class="variable-name" id="tableSet">tableSet</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="type">BitSet</span> <span class="function-name" id="tableSetClone">tableSetClone</span>() { | |||||
<span class="keyword">return</span> (<span class="type">BitSet</span>)(tableProps.clone()); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> { | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_AFTER_PRECEDENCE">BORDER_AFTER_PRECEDENCE</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_BEFORE_PRECEDENCE">BORDER_BEFORE_PRECEDENCE</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_COLLAPSE">BORDER_COLLAPSE</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_END_PRECEDENCE">BORDER_END_PRECEDENCE</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_SEPARATION">BORDER_SEPARATION</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_SEPARATION_BLOCK_PROGRESSION_DIRECTION">BORDER_SEPARATION_BLOCK_PROGRESSION_DIRECTION</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_SEPARATION_INLINE_PROGRESSION_DIRECTION">BORDER_SEPARATION_INLINE_PROGRESSION_DIRECTION</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_SPACING">BORDER_SPACING</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="BORDER_START_PRECEDENCE">BORDER_START_PRECEDENCE</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="CAPTION_SIDE">CAPTION_SIDE</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="COLUMN_NUMBER">COLUMN_NUMBER</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="COLUMN_WIDTH">COLUMN_WIDTH</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="EMPTY_CELLS">EMPTY_CELLS</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="ENDS_ROW">ENDS_ROW</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="NUMBER_COLUMNS_REPEATED">NUMBER_COLUMNS_REPEATED</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="NUMBER_COLUMNS_SPANNED">NUMBER_COLUMNS_SPANNED</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="NUMBER_ROWS_SPANNED">NUMBER_ROWS_SPANNED</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="STARTS_ROW">STARTS_ROW</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="TABLE_LAYOUT">TABLE_LAYOUT</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="TABLE_OMIT_FOOTER_AT_BREAK">TABLE_OMIT_FOOTER_AT_BREAK</span>); | |||||
tableProps.set(PropNames.<span class="jde-java-font-lock-constant" id="TABLE_OMIT_HEADER_AT_BREAK">TABLE_OMIT_HEADER_AT_BREAK</span>); | |||||
tableSet = <span class="keyword">new</span> <span class="type">ROBitSet</span>(tableProps); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="function-name" id="PropertySets">PropertySets</span> (){} | |||||
} | |||||
</pre> | |||||
</body> | |||||
</html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> | |||||
<!-- Created by htmlize-0.67 in css mode. --> | |||||
<html> | |||||
<head> | |||||
<title>PropertyTokenizer.java</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
color: #000000; | |||||
background-color: #faf0e6; | |||||
} /* default */ | |||||
.function-name { | |||||
color: #8b2323; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-function-name-face */ | |||||
.jde-java-font-lock-italic { | |||||
background-color: #faf0e6; | |||||
font-style: italic; | |||||
} /* jde-java-font-lock-italic-face */ | |||||
.jde-java-font-lock-modifier { | |||||
color: #da70d6; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-modifier-face */ | |||||
.keyword { | |||||
color: #8b0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-keyword-face */ | |||||
.variable-name { | |||||
color: #8b008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-variable-name-face */ | |||||
.string { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-string-face */ | |||||
.jde-java-font-lock-package { | |||||
color: #0000cd; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-package-face */ | |||||
.jde-java-font-lock-constant { | |||||
color: #5f9ea0; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-constant-face */ | |||||
.type { | |||||
color: #4682b4; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-type-face */ | |||||
.jde-java-font-lock-doc-tag { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-doc-tag-face */ | |||||
.comment { | |||||
color: #00008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-comment-face */ | |||||
.jde-java-font-lock-number { | |||||
color: #bc8f8f; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-number-face */ | |||||
a { | |||||
color: inherit; | |||||
background-color: inherit; | |||||
font: inherit; | |||||
text-decoration: inherit; | |||||
} | |||||
a:hover { | |||||
text-decoration: underline; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<pre> | |||||
<span class="comment">/* | |||||
* $Id$ | |||||
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved. | |||||
* For details on use and redistribution please refer to the | |||||
* LICENSE file included with these sources. | |||||
*/</span> | |||||
<span class="keyword">package</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">expr</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">Numeric</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">Length</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">Frequency</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">Time</span>; | |||||
<span class="comment">/** | |||||
* Class to tokenize XSL FO property expression. | |||||
* This class is heavily based on the epxression tokenizer in James Clark's | |||||
* XT, an XSLT processor. | |||||
*/</span> | |||||
<span class="keyword">class</span> <span class="function-name" id="PropertyTokenizerClass">PropertyTokenizer</span> { | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="tag">tag</span> = "<span class="string">$Name$</span>"; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="revision">revision</span> = "<span class="string">$Revision$</span>"; | |||||
<span class="comment">/* | |||||
* Maintain the numbering of this list in (X)Emacs by issuing | |||||
* a shell command on the region with replacement (M-1 M-|). Use | |||||
* the perl command: | |||||
* perl -p -e 'BEGIN{$n=0};$n++ if s/= [0-9]+/= $n/' | |||||
* | |||||
* in vi, set mark `</span><span class="jde-java-font-lock-doc-tag">a</span><span class="comment">' at the last line and | |||||
* !'aperl... etc | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">int</span> | |||||
<span class="jde-java-font-lock-constant" id="EOF">EOF</span> = <span class="jde-java-font-lock-number">0</span> | |||||
,<span class="jde-java-font-lock-constant" id="NCNAME">NCNAME</span> = <span class="jde-java-font-lock-number">1</span> | |||||
,<span class="jde-java-font-lock-constant" id="MULTIPLY">MULTIPLY</span> = <span class="jde-java-font-lock-number">2</span> | |||||
,<span class="jde-java-font-lock-constant" id="LPAR">LPAR</span> = <span class="jde-java-font-lock-number">3</span> | |||||
,<span class="jde-java-font-lock-constant" id="RPAR">RPAR</span> = <span class="jde-java-font-lock-number">4</span> | |||||
,<span class="jde-java-font-lock-constant" id="LITERAL">LITERAL</span> = <span class="jde-java-font-lock-number">5</span> | |||||
,<span class="jde-java-font-lock-constant" id="FUNCTION_LPAR">FUNCTION_LPAR</span> = <span class="jde-java-font-lock-number">6</span> | |||||
,<span class="jde-java-font-lock-constant" id="PLUS">PLUS</span> = <span class="jde-java-font-lock-number">7</span> | |||||
,<span class="jde-java-font-lock-constant" id="MINUS">MINUS</span> = <span class="jde-java-font-lock-number">8</span> | |||||
,<span class="jde-java-font-lock-constant" id="MOD">MOD</span> = <span class="jde-java-font-lock-number">9</span> | |||||
,<span class="jde-java-font-lock-constant" id="DIV">DIV</span> = <span class="jde-java-font-lock-number">10</span> | |||||
,<span class="jde-java-font-lock-constant" id="COMMA">COMMA</span> = <span class="jde-java-font-lock-number">11</span> | |||||
,<span class="jde-java-font-lock-constant" id="PERCENT">PERCENT</span> = <span class="jde-java-font-lock-number">12</span> | |||||
,<span class="jde-java-font-lock-constant" id="COLORSPEC">COLORSPEC</span> = <span class="jde-java-font-lock-number">13</span> | |||||
,<span class="jde-java-font-lock-constant" id="FLOAT">FLOAT</span> = <span class="jde-java-font-lock-number">14</span> | |||||
,<span class="jde-java-font-lock-constant" id="INTEGER">INTEGER</span> = <span class="jde-java-font-lock-number">15</span> | |||||
,<span class="jde-java-font-lock-constant" id="ABSOLUTE_LENGTH">ABSOLUTE_LENGTH</span> = <span class="jde-java-font-lock-number">16</span> | |||||
,<span class="jde-java-font-lock-constant" id="RELATIVE_LENGTH">RELATIVE_LENGTH</span> = <span class="jde-java-font-lock-number">17</span> | |||||
,<span class="jde-java-font-lock-constant" id="TIME">TIME</span> = <span class="jde-java-font-lock-number">18</span> | |||||
,<span class="jde-java-font-lock-constant" id="FREQ">FREQ</span> = <span class="jde-java-font-lock-number">19</span> | |||||
,<span class="jde-java-font-lock-constant" id="ANGLE">ANGLE</span> = <span class="jde-java-font-lock-number">20</span> | |||||
,<span class="jde-java-font-lock-constant" id="INHERIT">INHERIT</span> = <span class="jde-java-font-lock-number">21</span> | |||||
,<span class="jde-java-font-lock-constant" id="AUTO">AUTO</span> = <span class="jde-java-font-lock-number">22</span> | |||||
,<span class="jde-java-font-lock-constant" id="NONE">NONE</span> = <span class="jde-java-font-lock-number">23</span> | |||||
,<span class="jde-java-font-lock-constant" id="BOOL">BOOL</span> = <span class="jde-java-font-lock-number">24</span> | |||||
,<span class="jde-java-font-lock-constant" id="URI">URI</span> = <span class="jde-java-font-lock-number">25</span> | |||||
,<span class="jde-java-font-lock-constant" id="MIMETYPE">MIMETYPE</span> = <span class="jde-java-font-lock-number">26</span> | |||||
,<span class="jde-java-font-lock-constant" id="SLASH">SLASH</span> = <span class="jde-java-font-lock-number">27</span> | |||||
<span class="comment">// NO_UNIT is a transient token for internal use only. It is | |||||
</span> <span class="comment">// never set as the end result of parsing a token. | |||||
</span> ,<span class="jde-java-font-lock-constant" id="NO_UNIT">NO_UNIT</span> = <span class="jde-java-font-lock-number">28</span> | |||||
<span class="comment">//,NSPREFIX = 29 | |||||
</span> <span class="comment">//,WHITESPACE = 30 | |||||
</span> ; | |||||
<span class="comment">/* | |||||
* Absolute unit type constants | |||||
*/</span> | |||||
<span class="type">int</span> <span class="variable-name" id="currentToken">currentToken</span> = <span class="jde-java-font-lock-constant">EOF</span>; | |||||
<span class="type">String</span> <span class="variable-name" id="currentTokenValue">currentTokenValue</span> = <span class="jde-java-font-lock-constant" id="null">null</span>; | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">int</span> <span class="variable-name" id="currentUnitIndex">currentUnitIndex</span> = <span class="jde-java-font-lock-number">0</span>; | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">int</span> <span class="variable-name" id="currentUnit">currentUnit</span>; | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">String</span> <span class="variable-name" id="unitString">unitString</span>; | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">String</span> <span class="variable-name" id="uri">uri</span>; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">int</span> <span class="variable-name" id="currentTokenStartIndex">currentTokenStartIndex</span> = <span class="jde-java-font-lock-number">0</span>; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">String</span> <span class="variable-name" id="expr">expr</span> = <span class="jde-java-font-lock-constant">null</span>; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">int</span> <span class="variable-name" id="exprIndex">exprIndex</span> = <span class="jde-java-font-lock-number">0</span>; | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">int</span> <span class="variable-name" id="exprLength">exprLength</span>; | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">int</span> <span class="variable-name" id="property">property</span>; | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="function-name" id="PropertyTokenizer">PropertyTokenizer</span>() {} | |||||
<span class="comment">/** | |||||
* Initialize this tokenizer to tokenize the passed | |||||
* String as a value of the passed property. | |||||
* It is assumed that the subclass has made any necessary | |||||
* synchronization arrangements. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">property</span><span class="comment"> an <tt>int</tt> containing the property index. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="s">s</span><span class="comment"> The Property expression to tokenize. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">void</span> <span class="function-name" id="initialize">initialize</span>(<span class="type">int</span> <span class="variable-name">property</span>, <span class="type">String</span> <span class="variable-name">s</span>) { | |||||
expr = s; | |||||
exprLength = s.length(); | |||||
<span class="keyword">this</span>.property = property; | |||||
<span class="comment">//System.out.println("-----Tokenizer initialized: " + expr); | |||||
</span> } | |||||
<span class="comment">/** | |||||
* Reset the tokenizer to null (or equivalent) values. | |||||
* Synchronization is achieved in the subclass. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">void</span> <span class="function-name" id="reset">reset</span>() { | |||||
expr = <span class="jde-java-font-lock-constant">null</span>; | |||||
exprIndex = <span class="jde-java-font-lock-number">0</span>; | |||||
exprLength = <span class="jde-java-font-lock-number">0</span>; | |||||
currentToken = <span class="jde-java-font-lock-constant">EOF</span>; | |||||
currentTokenValue = <span class="jde-java-font-lock-constant">null</span>; | |||||
property = <span class="jde-java-font-lock-number">0</span>; | |||||
<span class="comment">//System.out.println("-----Tokenizer reset."); | |||||
</span> } | |||||
<span class="comment">/** | |||||
* Get the current expression | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> - the expression. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">String</span> <span class="function-name" id="getExpr">getExpr</span>() { | |||||
<span class="keyword">return</span> expr; | |||||
} | |||||
<span class="comment">/** | |||||
* Return the next token in the expression string. | |||||
* This sets the following package visible variables: | |||||
* currentToken An enumerated value identifying the recognized token | |||||
* currentTokenValue A String containing the token contents | |||||
* currentUnit If currentToken = ABSOLUTE_LENGTH, TIME or FREQUENCY, | |||||
* an enumerated value identifying the unit. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@throws</span><span class="comment"> </span><span class="type">PropertyException</span><span class="comment"> If un unrecognized token is encountered. | |||||
*/</span> | |||||
<span class="type">void</span> <span class="function-name" id="next">next</span>() <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
<span class="comment">//System.out.println("expr:" + expr + ": exprIndex: " + exprIndex); | |||||
</span> currentTokenValue = <span class="jde-java-font-lock-constant">null</span>; | |||||
currentTokenStartIndex = exprIndex; | |||||
<span class="type">boolean</span> <span class="variable-name" id="bSawDecimal">bSawDecimal</span>; | |||||
<span class="keyword">for</span> (; ; ) { | |||||
<span class="keyword">if</span> (exprIndex >= exprLength) { | |||||
currentToken = <span class="jde-java-font-lock-constant">EOF</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="type">char</span> <span class="variable-name" id="c">c</span> = expr.charAt(exprIndex++); | |||||
<span class="keyword">switch</span> (c) { | |||||
<span class="keyword">case</span> '<span class="string"> </span>': | |||||
<span class="keyword">case</span> '<span class="string">\t</span>': | |||||
<span class="keyword">case</span> '<span class="string">\r</span>': | |||||
<span class="keyword">case</span> '<span class="string">\n</span>': | |||||
<span class="comment">// Whitespace characters are valid within strings. | |||||
</span> <span class="comment">// in font family names, sequences of whitespace are | |||||
</span> <span class="comment">// compressed into a single space. (Rec 7.8.2) | |||||
</span> <span class="comment">//scanWhitespace(); | |||||
</span> <span class="comment">//currentToken = WHITESPACE; | |||||
</span> <span class="comment">//currentTokenValue = expr.substring(currentTokenStartIndex, | |||||
</span> <span class="comment">// exprIndex); | |||||
</span> <span class="comment">//return; | |||||
</span> currentTokenStartIndex = exprIndex; | |||||
<span class="keyword">break</span>; | |||||
<span class="keyword">case</span> '<span class="string">,</span>': | |||||
currentToken = <span class="jde-java-font-lock-constant">COMMA</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">+</span>': | |||||
currentToken = <span class="jde-java-font-lock-constant">PLUS</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">-</span>': | |||||
currentToken = <span class="jde-java-font-lock-constant">MINUS</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">(</span>': | |||||
currentToken = <span class="jde-java-font-lock-constant">LPAR</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">)</span>': | |||||
currentToken = <span class="jde-java-font-lock-constant">RPAR</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">"</span>': | |||||
<span class="keyword">case</span> '<span class="string">\'</span>': | |||||
exprIndex = expr.indexOf(c, exprIndex); | |||||
<span class="keyword">if</span> (exprIndex < <span class="jde-java-font-lock-number">0</span>) { | |||||
exprIndex = currentTokenStartIndex + <span class="jde-java-font-lock-number">1</span>; | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">missing quote</span>"); | |||||
} | |||||
currentTokenValue = expr.substring(currentTokenStartIndex | |||||
+ <span class="jde-java-font-lock-number">1</span>, exprIndex++); | |||||
currentToken = <span class="jde-java-font-lock-constant">LITERAL</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">*</span>': | |||||
currentToken = <span class="jde-java-font-lock-constant">MULTIPLY</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">0</span>': | |||||
<span class="keyword">case</span> '<span class="string">1</span>': | |||||
<span class="keyword">case</span> '<span class="string">2</span>': | |||||
<span class="keyword">case</span> '<span class="string">3</span>': | |||||
<span class="keyword">case</span> '<span class="string">4</span>': | |||||
<span class="keyword">case</span> '<span class="string">5</span>': | |||||
<span class="keyword">case</span> '<span class="string">6</span>': | |||||
<span class="keyword">case</span> '<span class="string">7</span>': | |||||
<span class="keyword">case</span> '<span class="string">8</span>': | |||||
<span class="keyword">case</span> '<span class="string">9</span>': | |||||
scanDigits(); | |||||
<span class="keyword">if</span> (exprIndex < exprLength && expr.charAt(exprIndex) == '<span class="string">.</span>') { | |||||
exprIndex++; | |||||
bSawDecimal = <span class="jde-java-font-lock-constant" id="true">true</span>; | |||||
<span class="keyword">if</span> (exprIndex < exprLength | |||||
&& isDigit(expr.charAt(exprIndex))) { | |||||
exprIndex++; | |||||
scanDigits(); | |||||
} | |||||
} <span class="keyword">else</span> | |||||
bSawDecimal = <span class="jde-java-font-lock-constant" id="false">false</span>; | |||||
currentUnitIndex = exprIndex; | |||||
<span class="keyword">if</span> (exprIndex < exprLength && expr.charAt(exprIndex) == '<span class="string">%</span>') { | |||||
currentToken = <span class="jde-java-font-lock-constant">PERCENT</span>; | |||||
unitString = "<span class="string">%</span>"; | |||||
exprIndex++; | |||||
} <span class="keyword">else</span> { | |||||
<span class="comment">// Check for possible unit name following number | |||||
</span> currentToken = scanUnitName(); | |||||
<span class="keyword">if</span> (currentToken == <span class="jde-java-font-lock-constant">NO_UNIT</span>) | |||||
currentToken = bSawDecimal ? <span class="jde-java-font-lock-constant">FLOAT</span> : <span class="jde-java-font-lock-constant">INTEGER</span>; | |||||
} | |||||
currentTokenValue = expr.substring(currentTokenStartIndex, | |||||
currentUnitIndex); | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">case</span> '<span class="string">.</span>': | |||||
<span class="keyword">if</span> (exprIndex < exprLength | |||||
&& isDigit(expr.charAt(exprIndex))) { | |||||
++exprIndex; | |||||
scanDigits(); | |||||
currentUnitIndex = exprIndex; | |||||
<span class="keyword">if</span> (exprIndex < exprLength | |||||
&& expr.charAt(exprIndex) == '<span class="string">%</span>') { | |||||
exprIndex++; | |||||
currentToken = <span class="jde-java-font-lock-constant">PERCENT</span>; | |||||
} <span class="keyword">else</span> { | |||||
<span class="comment">// Check for possible unit name following number | |||||
</span> currentToken = scanUnitName(); | |||||
<span class="keyword">if</span> (currentToken == <span class="jde-java-font-lock-constant">NO_UNIT</span>) | |||||
currentToken = <span class="jde-java-font-lock-constant">FLOAT</span>; | |||||
} | |||||
currentTokenValue = expr.substring(currentTokenStartIndex, | |||||
currentUnitIndex); | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">illegal character '.'</span>"); | |||||
<span class="keyword">case</span> '<span class="string">#</span>': <span class="comment">// Start of color value | |||||
</span> <span class="keyword">if</span> (exprIndex < exprLength | |||||
&& isHexDigit(expr.charAt(exprIndex))) { | |||||
<span class="type">int</span> <span class="variable-name" id="len">len</span>; | |||||
++exprIndex; | |||||
scanHexDigits(); | |||||
currentToken = <span class="jde-java-font-lock-constant">COLORSPEC</span>; | |||||
currentTokenValue = expr.substring(currentTokenStartIndex, | |||||
exprIndex); | |||||
<span class="comment">// Probably should have some multiple of 3 for length! | |||||
</span> len = exprIndex - currentTokenStartIndex; | |||||
<span class="keyword">if</span> (len == <span class="jde-java-font-lock-number">4</span> || len == <span class="jde-java-font-lock-number">7</span>) <span class="keyword">return</span>; | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">color not 3 or 6 hex digits</span>"); | |||||
} <span class="keyword">else</span> { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">illegal character '#'</span>"); | |||||
} | |||||
<span class="keyword">case</span> '<span class="string">/</span>': | |||||
currentToken = <span class="jde-java-font-lock-constant">SLASH</span>; | |||||
<span class="keyword">return</span>; | |||||
<span class="keyword">default</span>: | |||||
--exprIndex; | |||||
scanName(); | |||||
<span class="keyword">if</span> (exprIndex == currentTokenStartIndex) | |||||
<span class="comment">// Not a name - must be a <string> | |||||
</span> <span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> | |||||
("<span class="string">illegal character '</span>" | |||||
+ expr.charAt(exprIndex) + "<span class="string">'</span>"); | |||||
currentTokenValue = expr.substring(currentTokenStartIndex, | |||||
exprIndex); | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">mod</span>")) { | |||||
currentToken = <span class="jde-java-font-lock-constant">MOD</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">div</span>")) { | |||||
currentToken = <span class="jde-java-font-lock-constant">DIV</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">inherit</span>")) { | |||||
currentToken = <span class="jde-java-font-lock-constant">INHERIT</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">auto</span>")) { | |||||
currentToken = <span class="jde-java-font-lock-constant">AUTO</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">none</span>")) { | |||||
currentToken = <span class="jde-java-font-lock-constant">NONE</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">true</span>") | |||||
|| currentTokenValue.equals("<span class="string">false</span>")) { | |||||
currentToken = <span class="jde-java-font-lock-constant">BOOL</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="comment">// Quick and dirty url "parsing". Assume that a | |||||
</span> <span class="comment">// URI-SPECIFICATION must be the only component of a | |||||
</span> <span class="comment">// property value expression | |||||
</span> <span class="keyword">if</span> (currentTokenValue.equals("<span class="string">url</span>") | |||||
&& expr.charAt(exprIndex) == '<span class="string">(</span>') { | |||||
<span class="keyword">if</span> (! scanUrl()) { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> | |||||
("<span class="string">Invalid url expression :</span>" + | |||||
expr.substring(exprIndex)); | |||||
} | |||||
currentToken = <span class="jde-java-font-lock-constant">URI</span>; | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">content-type</span>")) { | |||||
<span class="comment">// content-type attribute value. Must be followed | |||||
</span> <span class="comment">// by a mime type | |||||
</span> <span class="keyword">if</span> (expr.charAt(exprIndex) == '<span class="string">:</span>') { | |||||
<span class="type">int</span> <span class="variable-name" id="mimeptr">mimeptr</span> = ++exprIndex; | |||||
scanMimeType(); | |||||
currentToken = <span class="jde-java-font-lock-constant">MIMETYPE</span>; | |||||
currentTokenValue = | |||||
expr.substring(mimeptr, exprIndex); | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="comment">// else it's just a name | |||||
</span> } | |||||
<span class="keyword">if</span> (currentTokenValue.equals("<span class="string">namespace-prefix</span>")) { | |||||
<span class="comment">// content-type attribute value. Must be followed | |||||
</span> <span class="comment">// by a declared namespace-prefix or null | |||||
</span> <span class="keyword">if</span> (expr.charAt(exprIndex) == '<span class="string">:</span>') { | |||||
<span class="type">int</span> <span class="variable-name" id="nsptr">nsptr</span> = ++exprIndex; | |||||
scanName(); <span class="comment">// Allowed to be empty | |||||
</span> currentToken = <span class="jde-java-font-lock-constant">NCNAME</span>; | |||||
currentTokenValue = | |||||
expr.substring(nsptr, exprIndex); | |||||
<span class="keyword">return</span>; | |||||
} | |||||
<span class="comment">// else it's just a name | |||||
</span> } | |||||
<span class="keyword">if</span> (followingParen()) { | |||||
currentToken = <span class="jde-java-font-lock-constant">FUNCTION_LPAR</span>; | |||||
} <span class="keyword">else</span> { | |||||
currentToken = <span class="jde-java-font-lock-constant">NCNAME</span>; | |||||
} | |||||
<span class="keyword">return</span>; | |||||
} | |||||
} | |||||
} | |||||
<span class="comment">/** | |||||
* Attempt to recognize a valid UnitName token in the input expression. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> token value appropriate to UnitName: ABSOLUTE_LENGTH, | |||||
* RELATIVE_LENGTH or NO_UNIT. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">PropertyException</span><span class="comment"> if an NCName not a UnitName recognized. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">int</span> <span class="function-name" id="scanUnitName">scanUnitName</span>() <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
currentUnitIndex = exprIndex; | |||||
scanName(); | |||||
<span class="keyword">if</span> (currentUnitIndex < exprIndex) { | |||||
unitString = expr.substring(currentUnitIndex, exprIndex); | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">em</span>")) <span class="keyword">return</span> <span class="jde-java-font-lock-constant">RELATIVE_LENGTH</span>; | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">cm</span>")) { | |||||
currentUnit = Length.<span class="jde-java-font-lock-constant" id="CM">CM</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">ABSOLUTE_LENGTH</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">mm</span>")) { | |||||
currentUnit = Length.<span class="jde-java-font-lock-constant" id="MM">MM</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">ABSOLUTE_LENGTH</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">in</span>")) { | |||||
currentUnit = Length.<span class="jde-java-font-lock-constant" id="IN">IN</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">ABSOLUTE_LENGTH</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">pt</span>")) { | |||||
currentUnit = Length.<span class="jde-java-font-lock-constant" id="PT">PT</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">ABSOLUTE_LENGTH</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">pc</span>")) { | |||||
currentUnit = Length.<span class="jde-java-font-lock-constant" id="PC">PC</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">ABSOLUTE_LENGTH</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">px</span>")) { | |||||
currentUnit = Length.<span class="jde-java-font-lock-constant" id="PX">PX</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">ABSOLUTE_LENGTH</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">s</span>")) { | |||||
currentUnit = Time.<span class="jde-java-font-lock-constant" id="SEC">SEC</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">TIME</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">ms</span>")) { | |||||
currentUnit = Time.<span class="jde-java-font-lock-constant" id="MSEC">MSEC</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">TIME</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">Hz</span>")) { | |||||
currentUnit = Frequency.<span class="jde-java-font-lock-constant" id="HZ">HZ</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">FREQ</span>; | |||||
} | |||||
<span class="keyword">if</span> (unitString.equals("<span class="string">kHz</span>")) { | |||||
currentUnit = Frequency.<span class="jde-java-font-lock-constant" id="KHZ">KHZ</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">FREQ</span>; | |||||
} | |||||
<span class="comment">// Not a UnitName | |||||
</span> <span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> | |||||
("<span class="string">NCName following a number is not a UnitName</span>"); | |||||
} <span class="keyword">else</span> { <span class="comment">// No NCName found | |||||
</span> <span class="keyword">return</span> <span class="jde-java-font-lock-constant">NO_UNIT</span>; | |||||
} | |||||
} | |||||
<span class="comment">/** | |||||
* Attempt to recognize a valid NAME token in the input expression. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">void</span> <span class="function-name" id="scanName">scanName</span>() { | |||||
<span class="keyword">if</span> (exprIndex < exprLength && isNameStartChar(expr.charAt(exprIndex))) | |||||
<span class="keyword">while</span> (++exprIndex < exprLength | |||||
&& isNameChar(expr.charAt(exprIndex))); | |||||
} | |||||
<span class="comment">/** | |||||
* Attempt to recognize a valid sequence of decimal digits in the | |||||
* input expression. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">void</span> <span class="function-name" id="scanDigits">scanDigits</span>() { | |||||
<span class="keyword">while</span> (exprIndex < exprLength && isDigit(expr.charAt(exprIndex))) | |||||
exprIndex++; | |||||
} | |||||
<span class="comment">/** | |||||
* Scan to the end of a sequence of whitespace characters in the | |||||
* input expression. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">void</span> <span class="function-name" id="scanWhitespace">scanWhitespace</span>() { | |||||
<span class="keyword">while</span> (exprIndex < exprLength && isSpace(expr.charAt(exprIndex))) | |||||
exprIndex++; | |||||
} | |||||
<span class="comment">/** | |||||
* Attempt to recognize a valid sequence of hexadecimal digits in the | |||||
* input expression. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">void</span> <span class="function-name" id="scanHexDigits">scanHexDigits</span>() { | |||||
<span class="keyword">while</span> (exprIndex < exprLength && isHexDigit(expr.charAt(exprIndex))) | |||||
exprIndex++; | |||||
} | |||||
<span class="comment">/** | |||||
* Attempt to recognize a mime-type. Working definition here: | |||||
* NCName/NCName (NCName as recognized by scanName()). | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">void</span> <span class="function-name" id="scanMimeType">scanMimeType</span>() <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
<span class="type">int</span> <span class="variable-name" id="part1">part1</span> = exprIndex; | |||||
scanName(); | |||||
<span class="keyword">if</span> (part1 != exprIndex) { | |||||
<span class="keyword">if</span> (expr.charAt(exprIndex) == '<span class="string">/</span>') { | |||||
<span class="type">int</span> <span class="variable-name" id="part2">part2</span> = ++exprIndex; | |||||
scanName(); | |||||
<span class="keyword">if</span> (part2 != exprIndex) | |||||
<span class="keyword">return</span>; | |||||
} | |||||
} | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Mime type expected; found:</span>" + | |||||
expr.substring(part1)); | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a boolean value indicating whether the following non-whitespace | |||||
* character is an opening parenthesis. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">boolean</span> <span class="function-name" id="followingParen">followingParen</span>() { | |||||
<span class="keyword">for</span> (<span class="type">int</span> <span class="variable-name" id="i">i</span> = exprIndex; i < exprLength; i++) { | |||||
<span class="keyword">switch</span> (expr.charAt(i)) { | |||||
<span class="keyword">case</span> '<span class="string">(</span>': | |||||
exprIndex = i + <span class="jde-java-font-lock-number">1</span>; | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">true</span>; | |||||
<span class="keyword">case</span> '<span class="string"> </span>': | |||||
<span class="keyword">case</span> '<span class="string">\r</span>': | |||||
<span class="keyword">case</span> '<span class="string">\n</span>': | |||||
<span class="keyword">case</span> '<span class="string">\t</span>': | |||||
<span class="keyword">break</span>; | |||||
<span class="keyword">default</span>: | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">false</span>; | |||||
} | |||||
} | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">false</span>; | |||||
} | |||||
<span class="comment">/** | |||||
* Primitive URI extractor. Assumes that the only contents of a | |||||
* URI-SPECIFICATION property type is a complete uri-specification. | |||||
* No checking is done on the syntactical validity of the URI. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a boolean indicating whether the remainder of the | |||||
* characters form the body of a <tt>url(...)</tt> specification. | |||||
* As a side-effect, sets the <tt>protected</tt> field <i></span><span class="jde-java-font-lock-italic">uri</span><span class="comment"></i> | |||||
* and sets <i></span><span class="jde-java-font-lock-italic">exprIndex</span><span class="comment"></i> past the end of the expression, when | |||||
* returning a <tt>true</tt> value. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="type">boolean</span> <span class="function-name" id="scanUrl">scanUrl</span>() { | |||||
<span class="type">char</span> <span class="variable-name" id="ch">ch</span>; | |||||
<span class="type">String</span> <span class="variable-name" id="str">str</span> = expr.substring(exprIndex).trim(); | |||||
<span class="keyword">if</span> (str.charAt(str.length() - <span class="jde-java-font-lock-number">1</span>) != '<span class="string">)</span>') <span class="keyword">return</span> <span class="jde-java-font-lock-constant">false</span>; | |||||
<span class="comment">// Remove closing parenthesis and trim | |||||
</span> str = str.substring(<span class="jde-java-font-lock-number">0</span>, str.length() - <span class="jde-java-font-lock-number">1</span>).trim(); | |||||
<span class="keyword">if</span> ((ch = str.charAt(<span class="jde-java-font-lock-number">0</span>)) == '<span class="string">"</span>' || ch == '<span class="string">\'</span>') { | |||||
<span class="keyword">if</span> (str.charAt(str.length() - <span class="jde-java-font-lock-number">1</span>) != ch) <span class="keyword">return</span> <span class="jde-java-font-lock-constant">false</span>; | |||||
str = str.substring(<span class="jde-java-font-lock-number">1</span>, str.length() - <span class="jde-java-font-lock-number">1</span>); | |||||
} | |||||
uri = str.trim(); | |||||
exprIndex = expr.length(); | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">true</span>; | |||||
} | |||||
<span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="nameStartChars">nameStartChars</span> = | |||||
"<span class="string">_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ</span>"; | |||||
<span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="nameChars">nameChars</span> = "<span class="string">.-0123456789</span>"; | |||||
<span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="digits">digits</span> = "<span class="string">0123456789</span>"; | |||||
<span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">String</span> <span class="variable-name" id="hexchars">hexchars</span> = digits + "<span class="string">abcdefABCDEF</span>"; | |||||
<span class="comment">/** | |||||
* Return a boolean value indicating whether the argument is a | |||||
* decimal digit (0-9). | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">c</span><span class="comment"> The character to check | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">boolean</span> <span class="function-name" id="isDigit">isDigit</span>(<span class="type">char</span> <span class="variable-name">c</span>) { | |||||
<span class="keyword">return</span> digits.indexOf(c) >= <span class="jde-java-font-lock-number">0</span>; | |||||
} | |||||
<span class="comment">/** | |||||
* Return a boolean value indicating whether the argument is a | |||||
* hexadecimal digit (0-9, A-F, a-f). | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">c</span><span class="comment"> The character to check | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">boolean</span> <span class="function-name" id="isHexDigit">isHexDigit</span>(<span class="type">char</span> <span class="variable-name">c</span>) { | |||||
<span class="keyword">return</span> hexchars.indexOf(c) >= <span class="jde-java-font-lock-number">0</span>; | |||||
} | |||||
<span class="comment">/** | |||||
* Return a boolean value indicating whether the argument is whitespace | |||||
* as defined by XSL (space, newline, CR, tab). | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">c</span><span class="comment"> The character to check | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">boolean</span> <span class="function-name" id="isSpace">isSpace</span>(<span class="type">char</span> <span class="variable-name">c</span>) { | |||||
<span class="keyword">switch</span> (c) { | |||||
<span class="keyword">case</span> '<span class="string"> </span>': | |||||
<span class="keyword">case</span> '<span class="string">\r</span>': | |||||
<span class="keyword">case</span> '<span class="string">\n</span>': | |||||
<span class="keyword">case</span> '<span class="string">\t</span>': | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">true</span>; | |||||
} | |||||
<span class="keyword">return</span> <span class="jde-java-font-lock-constant">false</span>; | |||||
} | |||||
<span class="comment">/** | |||||
* Return a boolean value indicating whether the argument is a valid name | |||||
* start character, ie. can start a NAME as defined by XSL. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">c</span><span class="comment"> The character to check | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">boolean</span> <span class="function-name" id="isNameStartChar">isNameStartChar</span>(<span class="type">char</span> <span class="variable-name">c</span>) { | |||||
<span class="keyword">return</span> nameStartChars.indexOf(c) >= <span class="jde-java-font-lock-number">0</span> || c >= <span class="jde-java-font-lock-number">0x80</span>; | |||||
} | |||||
<span class="comment">/** | |||||
* Return a boolean value indicating whether the argument is a valid name | |||||
* character, ie. can occur in a NAME as defined by XSL. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">c</span><span class="comment"> The character to check | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">private</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">boolean</span> <span class="function-name" id="isNameChar">isNameChar</span>(<span class="type">char</span> <span class="variable-name">c</span>) { | |||||
<span class="keyword">return</span> nameStartChars.indexOf(c) >= <span class="jde-java-font-lock-number">0</span> || nameChars.indexOf(c) >= <span class="jde-java-font-lock-number">0</span> | |||||
|| c >= <span class="jde-java-font-lock-number">0x80</span>; | |||||
} | |||||
} | |||||
</pre> | |||||
</body> | |||||
</html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> | |||||
<!-- Created by htmlize-0.67 in css mode. --> | |||||
<html> | |||||
<head> | |||||
<title>PropertyValue.java</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
color: #000000; | |||||
background-color: #faf0e6; | |||||
} /* default */ | |||||
.jde-java-font-lock-package { | |||||
color: #0000cd; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-package-face */ | |||||
.jde-java-font-lock-constant { | |||||
color: #5f9ea0; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-constant-face */ | |||||
.keyword { | |||||
color: #8b0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-keyword-face */ | |||||
.jde-java-font-lock-doc-tag { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-doc-tag-face */ | |||||
.jde-java-font-lock-number { | |||||
color: #bc8f8f; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-number-face */ | |||||
.jde-java-font-lock-italic { | |||||
background-color: #faf0e6; | |||||
font-style: italic; | |||||
} /* jde-java-font-lock-italic-face */ | |||||
.string { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-string-face */ | |||||
.variable-name { | |||||
color: #8b008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-variable-name-face */ | |||||
.jde-java-font-lock-modifier { | |||||
color: #da70d6; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-modifier-face */ | |||||
.type { | |||||
color: #4682b4; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-type-face */ | |||||
.comment { | |||||
color: #00008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-comment-face */ | |||||
.function-name { | |||||
color: #8b2323; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-function-name-face */ | |||||
a { | |||||
color: inherit; | |||||
background-color: inherit; | |||||
font: inherit; | |||||
text-decoration: inherit; | |||||
} | |||||
a:hover { | |||||
text-decoration: underline; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<pre> | |||||
<span class="keyword">package</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">expr</span>.<span class="type">PropertyException</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">FONode</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datastructs</span>.<span class="type">ROStringArray</span>; | |||||
<span class="comment">/* | |||||
* PropertyValue.java | |||||
* $Id$ | |||||
* | |||||
* Created: Tue Nov 20 22:18:11 2001 | |||||
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved. | |||||
* For details on use and redistribution please refer to the | |||||
* LICENSE file included with these sources. | |||||
* @author <a href="mailto:pbwest@powerup.com.au">Peter B. West</a> | |||||
* @version $Revision$ $Name$ | |||||
*/</span> | |||||
<span class="comment">/** | |||||
* Base interface for all property value types. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="keyword">interface</span> <span class="function-name" id="PropertyValueInterface">PropertyValue</span> { | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">int</span> | |||||
<span class="jde-java-font-lock-constant" id="NO_TYPE">NO_TYPE</span> = <span class="jde-java-font-lock-number">0</span> | |||||
,<span class="jde-java-font-lock-constant" id="ANGLE">ANGLE</span> = <span class="jde-java-font-lock-number">1</span> | |||||
,<span class="jde-java-font-lock-constant" id="AUTO">AUTO</span> = <span class="jde-java-font-lock-number">2</span> | |||||
,<span class="jde-java-font-lock-constant" id="BOOL">BOOL</span> = <span class="jde-java-font-lock-number">3</span> | |||||
,<span class="jde-java-font-lock-constant" id="COLOR_TYPE">COLOR_TYPE</span> = <span class="jde-java-font-lock-number">4</span> | |||||
,<span class="jde-java-font-lock-constant" id="COUNTRY">COUNTRY</span> = <span class="jde-java-font-lock-number">5</span> | |||||
,<span class="jde-java-font-lock-constant" id="ENUM">ENUM</span> = <span class="jde-java-font-lock-number">6</span> | |||||
,<span class="jde-java-font-lock-constant" id="FONT_FAMILY">FONT_FAMILY</span> = <span class="jde-java-font-lock-number">7</span> | |||||
,<span class="jde-java-font-lock-constant" id="FREQUENCY">FREQUENCY</span> = <span class="jde-java-font-lock-number">8</span> | |||||
,<span class="jde-java-font-lock-constant" id="FROM_NEAREST_SPECIFIED">FROM_NEAREST_SPECIFIED</span> = <span class="jde-java-font-lock-number">9</span> | |||||
,<span class="jde-java-font-lock-constant" id="FROM_PARENT">FROM_PARENT</span> = <span class="jde-java-font-lock-number">10</span> | |||||
,<span class="jde-java-font-lock-constant" id="INHERIT">INHERIT</span> = <span class="jde-java-font-lock-number">11</span> | |||||
,<span class="jde-java-font-lock-constant" id="INHERITED_VALUE">INHERITED_VALUE</span> = <span class="jde-java-font-lock-number">12</span> | |||||
,<span class="jde-java-font-lock-constant" id="INTEGER">INTEGER</span> = <span class="jde-java-font-lock-number">13</span> | |||||
,<span class="jde-java-font-lock-constant" id="LANGUAGE">LANGUAGE</span> = <span class="jde-java-font-lock-number">14</span> | |||||
,<span class="jde-java-font-lock-constant" id="LITERAL">LITERAL</span> = <span class="jde-java-font-lock-number">15</span> | |||||
,<span class="jde-java-font-lock-constant" id="MAPPED_NUMERIC">MAPPED_NUMERIC</span> = <span class="jde-java-font-lock-number">16</span> | |||||
,<span class="jde-java-font-lock-constant" id="MIME_TYPE">MIME_TYPE</span> = <span class="jde-java-font-lock-number">17</span> | |||||
,<span class="jde-java-font-lock-constant" id="NCNAME">NCNAME</span> = <span class="jde-java-font-lock-number">18</span> | |||||
,<span class="jde-java-font-lock-constant" id="NONE">NONE</span> = <span class="jde-java-font-lock-number">19</span> | |||||
,<span class="jde-java-font-lock-constant" id="NUMERIC">NUMERIC</span> = <span class="jde-java-font-lock-number">20</span> | |||||
,<span class="jde-java-font-lock-constant" id="SCRIPT">SCRIPT</span> = <span class="jde-java-font-lock-number">21</span> | |||||
,<span class="jde-java-font-lock-constant" id="SHADOW_EFFECT">SHADOW_EFFECT</span> = <span class="jde-java-font-lock-number">22</span> | |||||
,<span class="jde-java-font-lock-constant" id="SLASH">SLASH</span> = <span class="jde-java-font-lock-number">23</span> | |||||
,<span class="jde-java-font-lock-constant" id="TEXT_DECORATIONS">TEXT_DECORATIONS</span> = <span class="jde-java-font-lock-number">24</span> | |||||
,<span class="jde-java-font-lock-constant" id="TEXT_DECORATOR">TEXT_DECORATOR</span> = <span class="jde-java-font-lock-number">25</span> | |||||
,<span class="jde-java-font-lock-constant" id="TIME">TIME</span> = <span class="jde-java-font-lock-number">26</span> | |||||
,<span class="jde-java-font-lock-constant" id="URI_TYPE">URI_TYPE</span> = <span class="jde-java-font-lock-number">27</span> | |||||
,<span class="jde-java-font-lock-constant" id="LIST">LIST</span> = <span class="jde-java-font-lock-number">28</span> | |||||
,<span class="jde-java-font-lock-constant" id="LAST_PROPERTY_TYPE">LAST_PROPERTY_TYPE</span> = <span class="jde-java-font-lock-constant">LIST</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">static</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">ROStringArray</span> <span class="variable-name" id="propertyTypes">propertyTypes</span> = | |||||
<span class="keyword">new</span> <span class="type">ROStringArray</span>(<span class="keyword">new</span> <span class="type">String</span>[] { | |||||
"<span class="string">NO_TYPE</span>" | |||||
,"<span class="string">ANGLE</span>" | |||||
,"<span class="string">AUTO</span>" | |||||
,"<span class="string">BOOL</span>" | |||||
,"<span class="string">COLOR_TYPE</span>" | |||||
,"<span class="string">COUNTRY</span>" | |||||
,"<span class="string">ENUM</span>" | |||||
,"<span class="string">FONT_FAMILY</span>" | |||||
,"<span class="string">FREQUENCY</span>" | |||||
,"<span class="string">FROM_NEAREST_SPECIFIED</span>" | |||||
,"<span class="string">FROM_PARENT</span>" | |||||
,"<span class="string">INHERIT</span>" | |||||
,"<span class="string">INHERITED_VALUE</span>" | |||||
,"<span class="string">INTEGER</span>" | |||||
,"<span class="string">LANGUAGE</span>" | |||||
,"<span class="string">LITERAL</span>" | |||||
,"<span class="string">MAPPED_NUMERIC</span>" | |||||
,"<span class="string">MIME_TYPE</span>" | |||||
,"<span class="string">NCNAME</span>" | |||||
,"<span class="string">NONE</span>" | |||||
,"<span class="string">NUMERIC</span>" | |||||
,"<span class="string">SCRIPT</span>" | |||||
,"<span class="string">SHADOW_EFFECT</span>" | |||||
,"<span class="string">SLASH</span>" | |||||
,"<span class="string">TEXT_DECORATIONS</span>" | |||||
,"<span class="string">TEXT_DECORATOR</span>" | |||||
,"<span class="string">TIME</span>" | |||||
,"<span class="string">URI_LIST</span>" | |||||
,"<span class="string">LIST</span>" | |||||
}); | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> <tt>int</tt> property index. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getProperty">getProperty</span>(); | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="setProperty">setProperty</span>(<span class="type">int</span> <span class="variable-name" id="index">index</span>) <span class="keyword">throws</span> <span class="type">PropertyException</span>; | |||||
<span class="comment">/** | |||||
* Get the <tt>int</tt> type of property value. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> type field of the <tt>PropertyValue</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getType">getType</span>(); | |||||
<span class="comment">/** | |||||
* In some circumstances, the property against which a type is to be | |||||
* validated may not be the same as the property against which this | |||||
* <i></span><span class="jde-java-font-lock-italic">PropertyValue</span><span class="comment"></i> is defined. A specific property argument is | |||||
* then required. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="testProperty">testProperty</span><span class="comment"> <tt>int</tt> property index of the property | |||||
* for which the type is to be validated. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="type">type</span><span class="comment"> <tt>int</tt> bitmap of data types to check for | |||||
* validity against this property. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="validate">validate</span>(<span class="type">int</span> <span class="variable-name">testProperty</span>, <span class="type">int</span> <span class="variable-name">type</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span>; | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">type</span><span class="comment"> <tt>int</tt> bitmap of data types to check for | |||||
* validity against this property. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name">validate</span>(<span class="type">int</span> <span class="variable-name">type</span>) <span class="keyword">throws</span> <span class="type">PropertyException</span>; | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">Object</span> <span class="function-name" id="clone">clone</span>() <span class="keyword">throws</span> <span class="type">CloneNotSupportedException</span>; | |||||
} | |||||
</pre> | |||||
</body> | |||||
</html> |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> | |||||
<!-- Created by htmlize-0.67 in css mode. --> | |||||
<html> | |||||
<head> | |||||
<title>PropertyValueList.java</title> | |||||
<style type="text/css"> | |||||
<!-- | |||||
body { | |||||
color: #000000; | |||||
background-color: #faf0e6; | |||||
} /* default */ | |||||
.jde-java-font-lock-package { | |||||
color: #0000cd; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-package-face */ | |||||
.jde-java-font-lock-constant { | |||||
color: #5f9ea0; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-constant-face */ | |||||
.keyword { | |||||
color: #8b0000; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-keyword-face */ | |||||
.jde-java-font-lock-doc-tag { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-doc-tag-face */ | |||||
.jde-java-font-lock-number { | |||||
color: #bc8f8f; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-number-face */ | |||||
.jde-java-font-lock-italic { | |||||
background-color: #faf0e6; | |||||
font-style: italic; | |||||
} /* jde-java-font-lock-italic-face */ | |||||
.string { | |||||
color: #008b00; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-string-face */ | |||||
.variable-name { | |||||
color: #8b008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-variable-name-face */ | |||||
.jde-java-font-lock-modifier { | |||||
color: #da70d6; | |||||
background-color: #faf0e6; | |||||
} /* jde-java-font-lock-modifier-face */ | |||||
.type { | |||||
color: #4682b4; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-type-face */ | |||||
.comment { | |||||
color: #00008b; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-comment-face */ | |||||
.function-name { | |||||
color: #8b2323; | |||||
background-color: #faf0e6; | |||||
} /* font-lock-function-name-face */ | |||||
a { | |||||
color: inherit; | |||||
background-color: inherit; | |||||
font: inherit; | |||||
text-decoration: inherit; | |||||
} | |||||
a:hover { | |||||
text-decoration: underline; | |||||
} | |||||
--> | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<pre> | |||||
<span class="keyword">package</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">lang</span>.<span class="jde-java-font-lock-package">reflect</span>.<span class="type">InvocationTargetException</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">LinkedList</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">Collection</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">java</span>.<span class="jde-java-font-lock-package">util</span>.<span class="type">Iterator</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">properties</span>.<span class="jde-java-font-lock-number">*</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">PropertyConsts</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">PropNames</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="type">FONode</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">datatypes</span>.<span class="type">PropertyValue</span>; | |||||
<span class="keyword">import</span> <span class="jde-java-font-lock-package">org</span>.<span class="jde-java-font-lock-package">apache</span>.<span class="jde-java-font-lock-package">fop</span>.<span class="jde-java-font-lock-package">fo</span>.<span class="jde-java-font-lock-package">expr</span>.<span class="type">PropertyException</span>; | |||||
<span class="comment">/* | |||||
* PropertyValueList.java | |||||
* $Id$ | |||||
* | |||||
* Created: Tue Dec 11 22:37:16 2001 | |||||
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved. | |||||
* For details on use and redistribution please refer to the | |||||
* LICENSE file included with these sources. | |||||
* @author <a href="mailto:pbwest@powerup.com.au">Peter B. West</a> | |||||
* @version $Revision$ $Name$ | |||||
*/</span> | |||||
<span class="comment">/** | |||||
* A list of <tt>PropertyValue</tt> elements. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="keyword">class</span> <span class="function-name" id="PropertyValueListClass">PropertyValueList</span> <span class="keyword">extends</span> <span class="type">LinkedList</span> <span class="keyword">implements</span> <span class="type">PropertyValue</span> { | |||||
<span class="comment">/** | |||||
* An integer index to the type of property of which this is a value. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">protected</span> <span class="type">int</span> <span class="variable-name" id="property">property</span>; | |||||
<span class="comment">/** | |||||
* An integer property type. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">int</span> <span class="variable-name" id="type">type</span>; | |||||
<span class="comment">/** | |||||
* The PropertyConsts singleton. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="jde-java-font-lock-modifier">final</span> <span class="type">PropertyConsts</span> <span class="variable-name" id="propertyConsts">propertyConsts</span>; | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">property</span><span class="comment"> <tt>int</tt> index of the property. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="function-name" id="PropertyValueList">PropertyValueList</span>(<span class="type">int</span> <span class="variable-name">property</span>) <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
<span class="keyword">super</span>(); | |||||
<span class="keyword">if</span> (property < <span class="jde-java-font-lock-number">1</span> || property > PropNames.<span class="jde-java-font-lock-constant" id="LAST_PROPERTY_INDEX">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + property); | |||||
<span class="keyword">this</span>.property = property; | |||||
type = PropertyValue.<span class="jde-java-font-lock-constant" id="LIST">LIST</span>; | |||||
propertyConsts = PropertyConsts.getPropertyConsts(); | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="propertyName">propertyName</span><span class="comment"> a <tt>String</tt> containing the property name. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="function-name">PropertyValueList</span>(<span class="type">String</span> <span class="variable-name">propertyName</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="keyword">super</span>(); | |||||
property = PropNames.getPropertyIndex(propertyName); | |||||
<span class="keyword">if</span> (property < <span class="jde-java-font-lock-number">1</span> || property > PropNames.<span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + property); | |||||
type = PropertyValue.<span class="jde-java-font-lock-constant">LIST</span>; | |||||
propertyConsts = PropertyConsts.getPropertyConsts(); | |||||
} | |||||
<span class="comment">/** | |||||
* Constructor with a <tt>Collection</tt>. Pass through to superclass | |||||
* only if the collection is another instance of a PropertyValueList. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">property</span><span class="comment"> <tt>int</tt> index of the property. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="c">c</span><span class="comment"> a <tt>Collection</tt>, which must be another | |||||
* <i></span><span class="jde-java-font-lock-italic">PropertyValueList</span><span class="comment"></i>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">IllegalArgumentException</span><span class="comment"> if the <tt>Collection</tt> is | |||||
* not a <i></span><span class="jde-java-font-lock-italic">PropertyValueList</span><span class="comment"></i>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="function-name">PropertyValueList</span>(<span class="type">int</span> <span class="variable-name">property</span>, <span class="type">Collection</span> <span class="variable-name">c</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="keyword">super</span>(c); | |||||
<span class="comment">// This test only follows the super() call because that call must | |||||
</span> <span class="comment">// be the first in a constructor. | |||||
</span> <span class="keyword">if</span> (! (c <span class="keyword">instanceof</span> <span class="type">PropertyValueList</span>)) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">IllegalArgumentException</span> | |||||
("<span class="string">Collection is not a PropertyValueList.</span>"); | |||||
<span class="keyword">if</span> (property < <span class="jde-java-font-lock-number">1</span> || property > PropNames.<span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + property); | |||||
<span class="keyword">this</span>.property = property; | |||||
type = PropertyValue.<span class="jde-java-font-lock-constant">LIST</span>; | |||||
propertyConsts = PropertyConsts.getPropertyConsts(); | |||||
} | |||||
<span class="comment">/** | |||||
* Constructor with a <tt>Collection</tt>. Pass through to superclass | |||||
* only if the collection is another instance of a PropertyValueList. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">propertyName</span><span class="comment"> a <tt>String</tt> containing the property name. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">c</span><span class="comment"> a <tt>Collection</tt>, which must be another | |||||
* <i></span><span class="jde-java-font-lock-italic">PropertyValueList</span><span class="comment"></i>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">IllegalArgumentException</span><span class="comment"> if the <tt>Collection</tt> is | |||||
* not a <i></span><span class="jde-java-font-lock-italic">PropertyValueList</span><span class="comment"></i>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="function-name">PropertyValueList</span>(<span class="type">String</span> <span class="variable-name">propertyName</span>, <span class="type">Collection</span> <span class="variable-name">c</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="keyword">super</span>(c); | |||||
<span class="comment">// This test only follows the super() call because that call must | |||||
</span> <span class="comment">// be the first in a constructor. | |||||
</span> <span class="keyword">if</span> (! (c <span class="keyword">instanceof</span> <span class="type">PropertyValueList</span>)) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">IllegalArgumentException</span> | |||||
("<span class="string">Collection is not a PropertyValueList.</span>"); | |||||
property = PropNames.getPropertyIndex(propertyName); | |||||
<span class="keyword">if</span> (property < <span class="jde-java-font-lock-number">1</span> || property > PropNames.<span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + property); | |||||
type = PropertyValue.<span class="jde-java-font-lock-constant">LIST</span>; | |||||
propertyConsts = PropertyConsts.getPropertyConsts(); | |||||
} | |||||
<span class="comment">/** | |||||
* Append a PropertyValue or PropertyValueList to the end of the list. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="o">o</span><span class="comment"> a <tt>PropertyValue</tt> or a <PropertyValueList</tt>; | |||||
* the element to add. Defined as an | |||||
* <tt>Object</tt> to override the definition in <tt>LinkedList</tt>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a <tt>boolean</tt> success or failure(?). | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">IllegalArgumentException</span><span class="comment"> if the object is not a | |||||
* <tt>PropertyValue</tt> or <tt>PropertyValueList</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">boolean</span> <span class="function-name" id="add">add</span>(<span class="type">Object</span> <span class="variable-name">o</span>) { | |||||
<span class="keyword">if</span> (! (o <span class="keyword">instanceof</span> <span class="type">PropertyValue</span> || o <span class="keyword">instanceof</span> <span class="type">PropertyValueList</span>)) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">IllegalArgumentException</span> | |||||
("<span class="string">Object is not a PropertyValue or a PropertyValueList.</span>"); | |||||
<span class="keyword">return</span> <span class="keyword">super</span>.add(o); | |||||
} | |||||
<span class="comment">/** | |||||
* Insert a <tt>PropertyValue</tt> or <tt>PropertyValueList</tt> | |||||
* at the beginning of the list. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">o</span><span class="comment"> a <tt>PropertyValue</tt> or a <PropertyValueList</tt>; | |||||
* the element to add. Defined as an | |||||
* <tt>Object</tt> to override the definition in <tt>LinkedList</tt>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">IllegalArgumentException</span><span class="comment"> if the object is not a | |||||
* <tt>PropertyValue</tt> or <tt>PropertyValueList</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="addFirst">addFirst</span>(<span class="type">Object</span> <span class="variable-name">o</span>) { | |||||
<span class="keyword">if</span> (! (o <span class="keyword">instanceof</span> <span class="type">PropertyValue</span> || o <span class="keyword">instanceof</span> <span class="type">PropertyValueList</span>)) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">IllegalArgumentException</span> | |||||
("<span class="string">Object is not a PropertyValue or a PropertyValueList.</span>"); | |||||
<span class="keyword">super</span>.addFirst(o); | |||||
} | |||||
<span class="comment">/** | |||||
* Append a PropertyValue to the end of the list. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">o</span><span class="comment"> a <tt>PropertyValue</tt>; the element to add. Defined as an | |||||
* <tt>Object</tt> to override the definition in <tt>LinkedList</tt>. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> a <tt>boolean</tt> success or failure(?). | |||||
* </span><span class="jde-java-font-lock-doc-tag">@exception</span><span class="comment"> </span><span class="type">IllegalArgumentException</span><span class="comment"> if the object is not a | |||||
* <tt>PropertyValue</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="addLast">addLast</span>(<span class="type">Object</span> <span class="variable-name">o</span>) { | |||||
add(o); | |||||
} | |||||
<span class="comment">/* | |||||
* Following fields and methods implement the PropertyValue interface | |||||
*/</span> | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> <tt>int</tt> property index. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getProperty">getProperty</span>() { | |||||
<span class="keyword">return</span> property; | |||||
} | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="setProperty">setProperty</span>(<span class="type">int</span> <span class="variable-name" id="index">index</span>) <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
<span class="keyword">if</span> (index < <span class="jde-java-font-lock-number">0</span> || index > PropNames.<span class="jde-java-font-lock-constant">LAST_PROPERTY_INDEX</span>) | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span>("<span class="string">Invalid property index: </span>" + index); | |||||
property = index; | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@return</span><span class="comment"> type field of the <tt>PropertyValue</tt>. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">int</span> <span class="function-name" id="getType">getType</span>() { | |||||
<span class="keyword">return</span> type; | |||||
} | |||||
<span class="comment">/** | |||||
* In some circumstances, the property against which a type is to be | |||||
* validated may not be the same as the property against which this | |||||
* <i></span><span class="jde-java-font-lock-italic">AbstractPropertyValue</span><span class="comment"></i> is defined. | |||||
* A specific property argument is then required. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name" id="testProperty">testProperty</span><span class="comment"> <tt>int</tt> property index of the property | |||||
* for which the type is to be validated. | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">type</span><span class="comment"> <tt>int</tt> bitmap of data types to check for | |||||
* validity against this property. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name" id="validate">validate</span>(<span class="type">int</span> <span class="variable-name">testProperty</span>, <span class="type">int</span> <span class="variable-name">type</span>) | |||||
<span class="keyword">throws</span> <span class="type">PropertyException</span> | |||||
{ | |||||
<span class="comment">// N.B. PROPERTY_SPECIFIC inheritance may require more specialized | |||||
</span> <span class="comment">// checks. Only line-height comes into this category. | |||||
</span> | |||||
<span class="comment">// N.B. The first commented-out condition means that I cannot validate | |||||
</span> <span class="comment">// unless the property is NOT inherited. | |||||
</span> <span class="comment">// I can't remember why I put this | |||||
</span> <span class="comment">// condition in here. Removing it. pbw 2002/02/18 | |||||
</span> <span class="comment">//if (propertyConsts.inherited.get(testProperty) == Property.NO | |||||
</span> <span class="comment">//&& (propertyConsts.getDataTypes(testProperty) & type) == 0) { | |||||
</span> | |||||
<span class="keyword">if</span> ((propertyConsts.getDataTypes(testProperty) & type) == <span class="jde-java-font-lock-number">0</span>) { | |||||
<span class="type">String</span> <span class="variable-name" id="pname">pname</span> = PropNames.getPropertyName(testProperty); | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> | |||||
("<span class="string">Datatype(s) </span>" + | |||||
Property.listDataTypes(type) + | |||||
"<span class="string"> not defined on </span>" + pname); | |||||
} | |||||
} | |||||
<span class="comment">/** | |||||
* </span><span class="jde-java-font-lock-doc-tag">@param</span><span class="comment"> </span><span class="variable-name">type</span><span class="comment"> <tt>int</tt> bitmap of data types to check for | |||||
* validity against this property. | |||||
*/</span> | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">void</span> <span class="function-name">validate</span>(<span class="type">int</span> <span class="variable-name">type</span>) <span class="keyword">throws</span> <span class="type">PropertyException</span> { | |||||
<span class="comment">// N.B. PROPERTY_SPECIFIC inheritance may require more specialized | |||||
</span> <span class="comment">// checks. Only line-height comes into this category. | |||||
</span> validate(property, type); | |||||
} | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">String</span> <span class="function-name" id="toString">toString</span>() { | |||||
<span class="type">String</span> <span class="variable-name" id="str">str</span>, <span class="variable-name">cstr</span>; | |||||
<span class="keyword">try</span> { | |||||
str = "<span class="string">Property: </span>" + PropNames.getPropertyName(property) | |||||
+ "<span class="string"> Index: </span>" + property + "<span class="string"> List contents:\n</span>"; | |||||
<span class="type">Iterator</span> <span class="variable-name" id="contents">contents</span> = iterator(); | |||||
<span class="keyword">while</span> (contents.hasNext()) { | |||||
<span class="type">int</span> <span class="variable-name" id="i">i</span> = <span class="jde-java-font-lock-number">0</span>, <span class="variable-name">j</span> = <span class="jde-java-font-lock-number">0</span>; | |||||
<span class="type">Object</span> <span class="variable-name" id="obj">obj</span> = contents.next(); | |||||
<span class="keyword">try</span> { | |||||
cstr = (<span class="type">String</span>)(obj.getClass() | |||||
.getMethod("<span class="string">toString</span>", <span class="jde-java-font-lock-constant" id="null">null</span>) | |||||
.invoke(obj, <span class="jde-java-font-lock-constant">null</span>)); | |||||
} <span class="keyword">catch</span> (<span class="type">IllegalAccessException</span> <span class="variable-name" id="e">e</span>) { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> (e); | |||||
} <span class="keyword">catch</span> (<span class="type">NoSuchMethodException</span> <span class="variable-name">e</span>) { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> (e); | |||||
} <span class="keyword">catch</span> (<span class="type">InvocationTargetException</span> <span class="variable-name">e</span>) { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">PropertyException</span> (e); | |||||
} | |||||
<span class="keyword">while</span> (i < cstr.length() && j >= <span class="jde-java-font-lock-number">0</span>) { | |||||
j = cstr.indexOf('<span class="string">\n</span>', j); | |||||
<span class="keyword">if</span> (j >= <span class="jde-java-font-lock-number">0</span>) { | |||||
str = str + "<span class="string">></span>" + cstr.substring(i, ++j); | |||||
i = j; | |||||
} <span class="keyword">else</span> { | |||||
str = str + "<span class="string">></span>" + cstr.substring(i); | |||||
i = cstr.length(); | |||||
} | |||||
} | |||||
} | |||||
<span class="keyword">return</span> str; | |||||
} <span class="keyword">catch</span> (<span class="type">PropertyException</span> <span class="variable-name">e</span>) { | |||||
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="type">RuntimeException</span>(e.getMessage()); | |||||
} | |||||
} | |||||
<span class="jde-java-font-lock-modifier">public</span> <span class="type">Object</span> <span class="function-name" id="clone">clone</span>() { | |||||
<span class="keyword">return</span> <span class="keyword">super</span>.clone(); | |||||
} | |||||
}<span class="comment">// PropertyValueList | |||||
</span></pre> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > | |||||
<html> | |||||
<head> | |||||
<META http-equiv= "Content-Type" content= "text/html; charset=ISO-8859-1" > | |||||
<title>Property classes overview</title> | |||||
<style type= "text/css" > | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body marginheight= "0" marginwidth= "0" topmargin= "0" leftmargin= "0" text= "#000000" bgcolor= "#FFFFFF" > | |||||
<div class= "content" > | |||||
<h1>Property classes overview</h1> | |||||
<p> | |||||
<font size= "-2" >by Peter B. West</font> | |||||
</p> | |||||
<ul class= "minitoc" > | |||||
<li> | |||||
<a href = "#N10014" >Properties: packages</a> | |||||
<ul class= "minitoc" > | |||||
<li> | |||||
<a href = "#N10019" >org.apache.fop.fo</a> | |||||
</li> | |||||
<li> | |||||
<a href = "#N100AC" >org.apache.fop.fo.properties</a> | |||||
</li> | |||||
<li> | |||||
<a href = "#N100EE" >org.apache.fop.fo.expr</a> | |||||
</li> | |||||
<li> | |||||
<a href = "#N10134" >org.apache.fop.datatypes</a> | |||||
</li> | |||||
<li> | |||||
<a href = "#N101A2" | |||||
>org.apache.fop.datatypes.indirect</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
<a name= "N10014" ></a> <h3>Properties: packages</h3> <a name= | |||||
"N10019" ></a> <h4>org.apache.fop.fo</h4> | |||||
<dl> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'PropNames.html#PropNamesClass' | |||||
)" ><em>PropNames</em></a> | |||||
</dt> | |||||
<dd> | |||||
This class maintains an array of <a href= | |||||
"javascript:parent.displayCode( | |||||
'PropNames.html#propertyNames' )" >property names</a>, | |||||
synchronized to a complete set of property name <a href = | |||||
"javascript:parent.displayCode( 'PropNames.html#NO_PROPERTY' | |||||
)" >constants</a> for indexing property-based arrays. It | |||||
includes methods to <a href = | |||||
"javascript:parent.displayCode( | |||||
'PropNames.html#getPropertyName' )" >convert an index to a | |||||
name</a> and to <a href = "javascript:parent.displayCode( | |||||
'PropNames.html#getPropertyIndex' )" >convert a property | |||||
name to an index</a>. | |||||
</dd> | |||||
<dt> | |||||
<a href = "PropertyConsts-class.html" ><em>PropertyConsts</em></a> | |||||
</dt> | |||||
<dd> | |||||
A singleton instance of <span class= "codefrag" | |||||
>PropertyConsts</span> is created by the static initializer | |||||
of the <a href = "javascript:parent.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( | |||||
'PropertyConsts.html#setupProperty' )" >setupProperty</a>, | |||||
which constructs the property name from the index, | |||||
instantiates a singleton of the appropriate class, and | |||||
extracts static fields by reflection from that instance into | |||||
the arrays of field values. | |||||
</dd> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'PropertySets.html#PropertySetsClass' )" ><em>PropertySets</em></a> | |||||
</dt> | |||||
<dd> | |||||
This class provides a number of <span class= "codefrag" | |||||
>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( | |||||
'PropertySets.html#borderProps' )"><em>Border</em></a>, <a | |||||
href="javascript:parent.displayCode( | |||||
'PropertySets.html#paddingProps' )"><em>Padding</em></a> and | |||||
<a href="javascript:parent.displayCode( | |||||
'PropertySets.html#backgroundProps' | |||||
)"><em>Background</em></a> sets are defined separately. | |||||
</dd> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'../FOPropertySets.html#FOPropertySetsClass' )" | |||||
><em>FOPropertySets</em></a> | |||||
</dt> | |||||
<dd> | |||||
This class provides a number of <span class= "codefrag" | |||||
>ROBitSet</span>s representing sets of properties which are | |||||
applicable in particular subtrees of the FO tree. These | |||||
sets are provided so that other properties can be ignored | |||||
during processing of the subtrees. | |||||
</dd> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'ShorthandPropSets.html#ShorthandPropSetsClass' )" | |||||
><em>ShorthandPropSets</em></a> | |||||
</dt> | |||||
<dd> | |||||
This class contains arrays of <a href = | |||||
"javascript:parent.displayCode( | |||||
'ShorthandPropSets.html#shorthands' )" >shorthand property | |||||
indices</a> and <a href = "javascript:parent.displayCode( | |||||
'ShorthandPropSets.html#compounds' )" >compound property | |||||
indices</a>, and <span class= "codefrag" >ROBitSet</span>s | |||||
representing the expansion sets of these shorthands and | |||||
compounds. Various methods useful in the expansion of these | |||||
properties are also included. | |||||
</dd> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'FOAttributes.html#FOAttributesClass' )" | |||||
><em>FOAttributes</em></a> | |||||
</dt> | |||||
<dd> | |||||
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( | |||||
'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( | |||||
'FOAttributes.html#nSpaceAttrMaps' )"><span class= | |||||
"codefrag" >HashMap</span>s</a>, indexed by the <em>local | |||||
name</em> of the attribute. | |||||
</dd> | |||||
</dl> | |||||
<a name= "N100AC" ></a><a name= "property-classes" ></a> | |||||
<h4>org.apache.fop.fo.properties</h4> | |||||
<dl> | |||||
<dt> | |||||
<a href="javascript:parent.displayCode( | |||||
'Property.html#PropertyClass' )" ><em>Property</em></a> | |||||
</dt> | |||||
<dd> | |||||
The base class for all individual property classes. | |||||
There are 320 properties in all. | |||||
</dd> | |||||
<dt> | |||||
<em>ColumnNumber</em> | |||||
</dt> | |||||
<dd> | |||||
The actual property class with the lowest index | |||||
number, followed in the index order by properties required | |||||
for further processing, e.g. FontSize. | |||||
</dd> | |||||
<dt> | |||||
<em>....</em> | |||||
</dt> | |||||
<dd>....</dd> | |||||
<dt> | |||||
<em>Background</em> | |||||
</dt> | |||||
<dd> | |||||
First in index order of the remainining shorthand | |||||
properties, followed in index order by all other remaining | |||||
shorthands. | |||||
</dd> | |||||
<dt> | |||||
<em>....</em> | |||||
</dt> | |||||
<dd>....</dd> | |||||
<dt> | |||||
<em>AbsolutePosition</em> | |||||
</dt> | |||||
<dd> | |||||
First in index order of the remaining properties. Within | |||||
this ordering, compound properties precede their expansion | |||||
properties, and corresponding relative properties precede | |||||
corresponding absolute properties. | |||||
</dd> | |||||
<dt> | |||||
<em>....</em> | |||||
</dt> | |||||
<dd>....</dd> | |||||
<dt> | |||||
<em>ZIndex</em> | |||||
</dt> | |||||
<dd> | |||||
The property class with the highest index | |||||
number. | |||||
</dd> | |||||
</dl> | |||||
<a name= "N100EE" ></a> | |||||
<h4>org.apache.fop.fo.expr</h4> | |||||
<dl> | |||||
<dt> | |||||
<a href = "javascript:parent.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( | |||||
'PropertyTokenizer.html#EOF' )" >token constants</a> and | |||||
returns these with associated token values. | |||||
</dd> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'PropertyParser.html#PropertyParserClass' )" | |||||
><em>PropertyParser</em></a> | |||||
</dt> | |||||
<dd> | |||||
This extends <span class= "codefrag" | |||||
>PropertyTokenizer</span>. It parses property | |||||
expressions on the basis of the tokens passed to it by its | |||||
superclass, generating <span class= "codefrag" | |||||
>PropertyValue</span>s, including <span class= "codefrag" | |||||
>PropertyValueList</span>s. | |||||
</dd> | |||||
<dt> | |||||
<em>PropertyException</em> | |||||
</dt> | |||||
<dd> | |||||
The basic class for all property-related exceptions. | |||||
It extends <span class= "codefrag" >FOPException</span>. It | |||||
is housed in this package by historical accident. | |||||
</dd> | |||||
<dt> | |||||
<em>DataTypeNotImplementedException</em> | |||||
<br> | |||||
<em>FunctionNotImplementedException</em> | |||||
<br> | |||||
<em>PropertyNotImplementedException</em> | |||||
</dt> | |||||
<dd> | |||||
A set of particular exceptions extending <span class= | |||||
"codefrag" >PropertyException</span>. Also in this package | |||||
by accident. | |||||
</dd> | |||||
</dl> | |||||
<a name= "N10134" ></a> | |||||
<h4>org.apache.fop.datatypes</h4> | |||||
<dl> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'PropertyValue.html#PropertyValueInterface' )" | |||||
><em>PropertyValue</em></a> | |||||
</dt> | |||||
<dd> | |||||
An <em>interface</em> which all <span class= "codefrag" | |||||
>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' | |||||
)" >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( | |||||
'AbstractPropertyValue.html#AbstractPropertyValueClass' )" | |||||
><em>AbstractPropertyValue</em></a> | |||||
</dt> | |||||
<dd> | |||||
An abstract implementation of the <span class= "codefrag" | |||||
>PropertyValue</span> interface. Most actual property value | |||||
classes extend <span class= "codefrag" | |||||
>AbstractPropertyValue</span>. | |||||
</dd> | |||||
<dt> | |||||
<a href = "javascript:parent.displayCode( | |||||
'PropertyValueList.html#PropertyValueListClass' )" | |||||
><em>PropertyValueList</em></a> | |||||
</dt> | |||||
<dd> | |||||
This class extends <span class= "codefrag" | |||||
>LinkedList</span> and implements <span class= "codefrag" | |||||
>PropertyValue</span>. It is used whenever the process of | |||||
resolving a property expression yields a list of <span | |||||
class= "codefrag" >PropertyValue</span> elements; notably | |||||
during the processing of shorthands and "compound" | |||||
properties. | |||||
</dd> | |||||
<dt> | |||||
<em>StringType</em> | |||||
</dt> | |||||
<dd> | |||||
A basic type extending <span class= "codefrag" | |||||
>AbstractPropertyValue</span>. Extended by <span class= | |||||
"codefrag" >NCName</span>. | |||||
</dd> | |||||
<dt> | |||||
<em>NCName</em> | |||||
</dt> | |||||
<dd> | |||||
Extends <span class= "codefrag" >StringType</span> to represent | |||||
NCName strings. | |||||
</dd> | |||||
<dt> | |||||
<em>EnumType</em> | |||||
</dt> | |||||
<dd> | |||||
Extends <span class= "codefrag" | |||||
>AbstractPropertyValue</span> to represented enumerated | |||||
types. | |||||
</dd> | |||||
<dt> | |||||
<em>Other types</em> | |||||
</dt> | |||||
<dd> | |||||
All other types extend one of the above classes. | |||||
</dd> | |||||
</dl> | |||||
<a name= "N101A2" ></a> | |||||
<h4>org.apache.fop.datatypes.indirect</h4> | |||||
<dl> | |||||
<dt> | |||||
<em>IndirectValue</em> | |||||
</dt> | |||||
<dd> | |||||
The base type for all indirect value types; extends | |||||
<span class= "codefrag" >AbstractPropertyValue</span>. | |||||
</dd> | |||||
</dl> | |||||
<p> | |||||
<strong>Previous:</strong> <a href = "introduction.html" | |||||
>Introduction</a> | |||||
</p> | |||||
<p> | |||||
<strong>Next:</strong> <a href= "PropertyConsts-class.html" | |||||
>The PropertyConsts class</a> | |||||
</p> | |||||
</div> | |||||
<table summary= "footer" cellspacing= "0" cellpadding= "0" width= "100%" height= "20" border= "0" > | |||||
<tr> | |||||
<td colspan= "2" height= "1" bgcolor= "#4C6C8F" ><img | |||||
height= "1" width= "1" alt= "" src= | |||||
"../../skin/images/spacer.gif" ><a href = | |||||
"../../skin/images/label.gif" ></a><a href = | |||||
"../../skin/images/page.gif" ></a><a href = | |||||
"../../skin/images/chapter.gif" ></a><a href = | |||||
"../../skin/images/chapter_open.gif" ></a><a href = | |||||
"../../skin/images/current.gif" ></a><a href = | |||||
"../..//favicon.ico" ></a></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan= "2" bgcolor= "#CFDCED" class= "copyright" | |||||
align= "center" ><font size= "2" face= "Arial, Helvetica, | |||||
Sans-Serif" >Copyright © 1999-2002 The Apache | |||||
Software Foundation. All rights reserved.<script type= | |||||
"text/javascript" language= "JavaScript" ><!-- | |||||
document.write(" - "+"Last Published: " + | |||||
document.lastModified); // --></script></font></td> | |||||
</tr> | |||||
<tr> | |||||
<td align= "left" bgcolor= "#CFDCED" class= "logos" | |||||
></td><td align= "right" bgcolor= "#CFDCED" class= "logos" | |||||
></td> | |||||
</tr> | |||||
</table> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |||||
<title>Enumerated Data Values</title> | |||||
<style type= "text/css" > | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF"> | |||||
<div class="content"> | |||||
<h1>Enumerated Data Values</h1> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N1000C">Enumerated Data Values</a> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10020">Array representation</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N1005C">HashMap representation</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N1009D"> | |||||
Factoring Out Common Enumeration Values | |||||
</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N100DD">Mapped Numeric Values</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
<a name="N1000C"></a> | |||||
<h3>Enumerated Data Values</h3> | |||||
<p> | |||||
Property classes which allow enumerated data types must encode | |||||
integer constants representing the enumeration tokens, and | |||||
must provide a way of translating between the tokens and the | |||||
integers, and <em>vice versa</em>. Depending on the number of | |||||
tokens in an enumeration set, the mapping from token to | |||||
integer is maintained in an array or a <span | |||||
class="codefrag">HashMap</span>. The switch-over point from | |||||
array to <span class="codefrag">HashMap</span> was determined | |||||
by some highly implementation-dependent testing to be in the | |||||
region of four to five elements. | |||||
</p> | |||||
<p> | |||||
Many properties share common sets of enumeration tokens, | |||||
e.g. those which allow color values, and those applying to | |||||
borders and padding. A special case of enumerated value is | |||||
the mapped numeric enumeration, in which a token maps to a | |||||
Numeric value. These situations are discussed below. | |||||
</p> | |||||
<a name="N10020"></a> | |||||
<h4>Array representation</h4> | |||||
<p> | |||||
<a href= "javascript:parent.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' )" | |||||
><span class="codefrag">dataTypes</span></a> field contains | |||||
the <a href= "javascript:parent.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 | |||||
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' | |||||
)" ><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 | |||||
in this code. It is, of course, critical that synchronization | |||||
between <span class="codefrag">rwEnums</span> and the | |||||
enumeration constants be maintained. | |||||
</p> | |||||
<p> | |||||
The publicly accessible mapping from enumeration token to | |||||
enumeration constant is achieved through the method <a href= | |||||
"javascript:parent.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( | |||||
'Direction.html#getEnumText' )" ><span class="codefrag">String | |||||
getEnumText(int)</span></a>. | |||||
</p> | |||||
<a name="N1005C"></a> | |||||
<h4>HashMap representation</h4> | |||||
<p> | |||||
<a href= "javascript:parent.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( | |||||
'RenderingIntent.html#dataTypes' )" ><span | |||||
class="codefrag">dataTypes</span></a> field contains the <a | |||||
href= "javascript:parent.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( | |||||
'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' | |||||
)" ><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( | |||||
'RenderingIntent.html#rwEnumHash"><span class="codefrag' )" > | |||||
rwEnumHash</span></a>, which is initialized from the token | |||||
array in a <span class="codefrag">static {}</span> | |||||
initializer. It is, of course, critical that synchronization | |||||
between <span class="codefrag">rwEnums</span> and the | |||||
enumeration constants be maintained. | |||||
</p> | |||||
<p> | |||||
The publicly accessible mapping from enumeration token to | |||||
enumeration constant is achieved through the method <a href= | |||||
"javascript:parent.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( | |||||
'RenderingIntent.html#getEnumText' )" ><span | |||||
class="codefrag">String getEnumText(int)</span></a>. | |||||
</p> | |||||
<a name="N1009D"></a> | |||||
<h4 id="common-enum-values"> | |||||
Factoring Out Common Enumeration Values | |||||
</h4> | |||||
<p> | |||||
When a number of properties support a common enumerated value, | |||||
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( | |||||
'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( | |||||
'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( | |||||
'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( | |||||
'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( | |||||
'BorderCommonStyle.html#getEnumIndex' )" ><span | |||||
class="codefrag">int getEnumIndex(String)</span></a> and <a | |||||
href= "javascript:parent.displayCode( | |||||
'BorderCommonStyle.html#getEnumText' )" ><span | |||||
class="codefrag">String getEnumText(int)</span></a> are also | |||||
present. | |||||
</p> | |||||
<p> | |||||
Notice, however, that the class has none of the static data | |||||
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( | |||||
'BorderLeftStyle.html#BorderLeftStyleClass' )" ><span | |||||
class="codefrag">BorderLeftStyle</span></a>. None of the | |||||
above fields or methods occur, and <span | |||||
class="codefrag">BorderLeftStyle</span> is left looking like | |||||
an example of a simple property. The enumeration mapping | |||||
methods are, however, available through the super-class <span | |||||
class="codefrag">BorderCommonStyle</span>. | |||||
</p> | |||||
<a name="N100DD"></a> | |||||
<h4>Mapped Numeric Values</h4> | |||||
<p> | |||||
In "normal" enumerated values, the token is, effectively, | |||||
passed directly into the layout operation of the flow object | |||||
to which the property is applied. Some enumerated values, | |||||
however, generate a <span class="codefrag">Numeric</span> | |||||
result. Their resolution involves mapping the token to the | |||||
indicated <span class="codefrag">Numeric</span> value. | |||||
</p> | |||||
<p> | |||||
An example is the <a href= "javascript:parent.displayCode( | |||||
'BorderCommonWidth.html#BorderCommonWidthClass' )" ><span | |||||
class="codefrag">BorderCommonWidth</span></a> property. This, | |||||
like the example of <a href="#common-enum-values"><span | |||||
class="codefrag">BorderCommonStyle</span></a> above, also | |||||
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( | |||||
'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( | |||||
'BorderCommonWidth.html#getEnumIndex' )" ><span | |||||
class="codefrag">int getEnumIndex(String)</span></a> and <a | |||||
href= "javascript:parent.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( | |||||
'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( | |||||
'BorderCommonWidth.html#rwEnums' )" ><span | |||||
class="codefrag">String[] rwEnums</span></a> array of tokens | |||||
and the set of <a href= "javascript:parent.displayCode( | |||||
'BorderCommonWidth.html#THIN' )" >enumeration constants</a>. | |||||
The mapping from token to Numeric value is achieved by the <a | |||||
href= "javascript:parent.displayCode( | |||||
'BorderCommonWidth.html#getMappedLength' )" ><span | |||||
class="codefrag">Numeric getMappedLength(FONode, int, | |||||
int)</span></a> method. | |||||
</p> | |||||
<p> | |||||
<a href= "javascript:parent.displayCode( | |||||
'BorderLeftWidth.html#BorderLeftWidthClass' )" ><span | |||||
class="codefrag">BorderLeftWidth</span></a> extends <a href= | |||||
"javascript:parent.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( | |||||
'BorderLeftWidth.html#getInitialValue' )" ><span | |||||
class="codefrag">PropertyValue getInitialValue(int)</span></a> | |||||
method to derive the initial value. | |||||
</p> | |||||
<a name="N10139"></a> | |||||
<h4>Deriving Mapped Numeric Values</h4> | |||||
<p> | |||||
As usual with property values, the usual method of deriving a | |||||
mapped numeric value is by calling the <a href= | |||||
"javascript:parent.displayCode( | |||||
'../PropertyConsts.html#getMappedNumeric' )" ><span | |||||
class="codefrag">Numeric getMappedNumeric(FONode, int, | |||||
int)</span></a> method in <a href= | |||||
"javascript:parent.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( | |||||
'PropertyConsts.html#properties' )" ><span class= "codefrag" | |||||
>properties</span ></a> array, by the <span | |||||
class="codefrag">PropertyConsts</span> method. | |||||
</p> | |||||
<p> | |||||
<strong>Previous:</strong> <a href= "getInitialValue.html" | |||||
>getInitialValue()</a> | |||||
</p> | |||||
<!-- | |||||
<p> | |||||
<strong>Next:</strong> <a href= "getInitialValue.html" | |||||
>getInitialValue()</a> | |||||
</p> | |||||
--> | |||||
</div> | |||||
<table summary="footer" cellspacing="0" cellpadding="0" width="100%" height="20" border="0"> | |||||
<tr> | |||||
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" | |||||
width="1" alt="" src="../../../skin/images/spacer.gif"><a | |||||
href="../../../skin/images/label.gif"></a><a | |||||
href="../../../skin/images/page.gif"></a><a | |||||
href="../../../skin/images/chapter.gif"></a><a | |||||
href="../../../skin/images/chapter_open.gif"></a><a | |||||
href="../../../skin/images/current.gif"></a><a | |||||
href="../../..//favicon.ico"></a></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="2" bgcolor="#CFDCED" class="copyright" | |||||
align="center"><font size="2" face="Arial, Helvetica, | |||||
Sans-Serif">Copyright © 1999-2002 The Apache | |||||
Software Foundation. All rights reserved.<script | |||||
type="text/javascript" language="JavaScript"><!-- | |||||
document.write(" - "+"Last Published: " + | |||||
document.lastModified); // --></script></font></td> | |||||
</tr> | |||||
<tr> | |||||
<td align="left" bgcolor="#CFDCED" class="logos"></td><td | |||||
align="right" bgcolor="#CFDCED" class="logos"></td> | |||||
</tr> | |||||
</table> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |||||
<title>Generating Initial Values</title> | |||||
<style type= "text/css" > | |||||
span.codeDisplay {font:italic bold} | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF"> | |||||
<div class="content"> | |||||
<h1>Generating Initial Values</h1> | |||||
<p> | |||||
<font size="-2">by Peter B. West</font> | |||||
</p> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10014">Introduction</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N10021"> | |||||
Generating & Accessing Initial Values | |||||
</a> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10062">Properties without | |||||
getInitialValue()</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
<a name="N10014"></a> | |||||
<h3>Introduction</h3> | |||||
<p> | |||||
The <a href="simple-properties.html">previous section</a> | |||||
discussed the common data elements in the simplest examples of | |||||
property classes. This section discusses more complex classes | |||||
whose facilities are accessed only through various methods. | |||||
</p> | |||||
<a name="N10021"></a> | |||||
<h3> | |||||
Generating & Accessing Initial Values | |||||
</h3> | |||||
<p> | |||||
<a href= "javascript:parent.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 | |||||
addition to all of the common static fields, these classes | |||||
have initial data value types which require the dynamic | |||||
generation of a PropertyValue instance. | |||||
</p> | |||||
<p> | |||||
The method <a href= "javascript:parent.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( | |||||
'PropertyConsts.html#PropertyConstsClass' )" ><span | |||||
class="codefrag">PropertyConsts</span></a> singleton <a href= | |||||
"javascript:parent.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( | |||||
'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( | |||||
'PropertyConsts.html#properties' )" ><span | |||||
class="codefrag">Property[] properties</span></a> array of <a | |||||
href= "javascript:parent.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( | |||||
'PropertyConsts.html#getInitialValue' )" ><span | |||||
class="codefrag">PropertyValue getInitialValue(int)</span></a> | |||||
in <a href= "javascript:parent.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( | |||||
'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( | |||||
'PropertyConsts.html#initialValues' )" ><span | |||||
class="codefrag">PropertyValue[] initialValues</span></a>. | |||||
</p> | |||||
<a name="N10062"></a> | |||||
<h4>Properties without | |||||
getInitialValue()</h4> | |||||
<p> | |||||
What about property classes which have no <span | |||||
class="codefrag">getInitialValue()</span> method? The | |||||
simplest classes, e.g. <span | |||||
class="codefrag">Character</span>, fall into this category. | |||||
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( | |||||
'Property.html#PropertyClass' )" ><span | |||||
class="codefrag">Property</span></a> provides a base <a href= | |||||
"javascript:parent.displayCode( | |||||
'Property.html#getInitialValue' )" ><span | |||||
class="codefrag">PropertyValue getInitialValue(int)</span></a> | |||||
method to which the simple classes fall back. Note that it is | |||||
only valid for <span class="codefrag">NOTYPE_IT</span>, <span | |||||
class="codefrag">AUTO_IT</span>, <span | |||||
class="codefrag">NONE_IT</span> and <span | |||||
class="codefrag">AURAL_IT</span> initial value types, so all | |||||
classes which have any other initial value type must override | |||||
this method. | |||||
</p> | |||||
<p> | |||||
<strong>Previous:</strong> <a href = "simple-properties.html" | |||||
>Simple property classes</a> | |||||
</p> | |||||
<p> | |||||
<strong>Next:</strong> <a href= "enumerated-values.html" | |||||
>Enumerated values</a> | |||||
</p> | |||||
</div> | |||||
<table summary="footer" cellspacing="0" cellpadding="0" width="100%" height="20" border="0"> | |||||
<tr> | |||||
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" | |||||
width="1" alt="" src="../../../skin/images/spacer.gif"><a | |||||
href="../../../skin/images/label.gif"></a><a | |||||
href="../../../skin/images/page.gif"></a><a | |||||
href="../../../skin/images/chapter.gif"></a><a | |||||
href="../../../skin/images/chapter_open.gif"></a><a | |||||
href="../../../skin/images/current.gif"></a><a | |||||
href="../../..//favicon.ico"></a></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="2" bgcolor="#CFDCED" class="copyright" | |||||
align="center"><font size="2" face="Arial, Helvetica, | |||||
Sans-Serif">Copyright © 1999-2002 The Apache | |||||
Software Foundation. All rights reserved.<script | |||||
type="text/javascript" language="JavaScript"><!-- | |||||
document.write(" - "+"Last Published: " + | |||||
document.lastModified); // --></script></font></td> | |||||
</tr> | |||||
<tr> | |||||
<td align="left" bgcolor="#CFDCED" class="logos"></td><td | |||||
align="right" bgcolor="#CFDCED" class="logos"></td> | |||||
</tr> | |||||
</table> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |||||
<title>Implementing Properties</title> | |||||
<style type= "text/css" > | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF"> | |||||
<div class="content"> | |||||
<h1>Implementing Properties</h1> | |||||
<p> | |||||
<font size="-2">by Peter B. West</font> | |||||
</p> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10014">An alternative properties implementation</a> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10043">The history problem</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N10061">The construction hierarchy</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N10082">Representing properties: <property> classes</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
<a name="N10014"></a> | |||||
<h3>An alternative properties implementation</h3> | |||||
<div class="frame note"> | |||||
<div class="label">Note</div> | |||||
<div class="content"> | |||||
The following discussion focusses on the relationship between | |||||
Flow Objects in the Flow Object tree, and properties. There | |||||
is no (or only passing) discussion of the relationship between | |||||
properties and traits, and by extension, between properties | |||||
and the Area tree. | |||||
</div> | |||||
</div> | |||||
<p> | |||||
Property handling is complex and expensive. Varying numbers of | |||||
properties <strong>apply</strong> to individual Flow Objects | |||||
<strong>(FOs)</strong> in the <strong>FO tree </strong> but | |||||
any property may effectively be assigned a value on any | |||||
element of the tree. If that property is inheritable, its | |||||
defined value will then be available to any children of the | |||||
defining FO. | |||||
</p> | |||||
<div class="frame note"> | |||||
<div class="label">Note</div> | |||||
<div class="content"> | |||||
<em>(XSL 1.0 Rec)</em> <strong>5.1.4 Inheritance</strong> | |||||
...The inheritable properties can be placed on any formatting | |||||
object. | |||||
</div> | |||||
</div> | |||||
<p> | |||||
Even if the value is not inheritable, it may be accessed by | |||||
its children through the <span class="codefrag">inherit</span> | |||||
keyword or the <span class="codefrag">from-parent()</span> | |||||
core function, and potentially by any of its descendents | |||||
through the <span | |||||
class="codefrag">from-nearest-specified-value()</span> core | |||||
function. | |||||
</p> | |||||
<p> | |||||
In addition to the assigned values of properties, almost every | |||||
property has an <strong>initial value</strong> which is used | |||||
when no value has been assigned. | |||||
</p> | |||||
<a name="N10043"></a> | |||||
<h4>The history problem</h4> | |||||
<p> | |||||
The difficulty and expense of handling properties comes from | |||||
this univeral inheritance possibility. The list of properties | |||||
which are assigned values on any particular <em>FO</em> | |||||
element will not generally be large, but a current value is | |||||
required for each property which applies to the <em>FO</em> | |||||
being processed. | |||||
</p> | |||||
<p> | |||||
The environment from which these values may be selected | |||||
includes, for each <em>FO</em>, <strong>for each applicable | |||||
property</strong>, the value assigned on this <em>FO</em>, | |||||
the value which applied to the parent of this <em>FO</em>, | |||||
the nearest value specified on an ancestor of this element, | |||||
and the initial value of the property. | |||||
</p> | |||||
<a name="N10061"></a> | |||||
<h4>The construction hierarchy</h4> | |||||
<p> | |||||
Properties are resoved in the <strong>FO tree</strong> in a | |||||
strictly hierarchical manner. Nodes are detected in the | |||||
input in a <strong>pre-order</strong> traversal, and are | |||||
built in the same order. This imples that there are two | |||||
phases, or states, of property resolution and construction. | |||||
Any particular FO node is either in a state of constructing | |||||
its own subtree, or in a stable state where the subtree | |||||
construction is complete. These states have differenct data | |||||
requirements. | |||||
</p> | |||||
<dl> | |||||
<dt>Subtree building</dt> | |||||
<dd> | |||||
In this state, all properties defined on this node, or any | |||||
of its ancestors must be available to the subtree. In | |||||
effect, any property defined on this node must be | |||||
available to its descendants, as all properties defined on | |||||
any ancestor are available to this node. | |||||
</dd> | |||||
<dt>Stable: subtree building complete</dt> | |||||
<dd> | |||||
In this state, only the properties <strong>applicable to | |||||
this node</strong> need be available. | |||||
</dd> | |||||
</dl> | |||||
<a name="N10082"></a> | |||||
<h4>Representing properties: <property> classes</h4> | |||||
<a name="N10087"></a> | |||||
<h4>Class vs instance</h4> | |||||
<p> | |||||
What information is required of property objects? | |||||
More particularly, what information is particular to the | |||||
property classes, and what to the instantiated | |||||
objects? The answer to this question depend largely on | |||||
how the property objects are used in the context | |||||
of layout and Area tree construction. The approach taken | |||||
in this implementation is that properties are simply flags | |||||
on certain data values associated with FOs. The semantics | |||||
of these flags are determined within the layout engine. | |||||
</p> | |||||
<p> | |||||
Certain constant information attaches to individual | |||||
property classes. This information is detailed in | |||||
the descriptions of individual properties in <em>Section | |||||
7</em> of the specification. Such information is | |||||
represented in <strong>class</strong> fields and data | |||||
structures within the classes. | |||||
</p> | |||||
<p> | |||||
The "instance" information content of a property | |||||
is: | |||||
</p> | |||||
<ul> | |||||
<li> | |||||
explicitly, the <span class="codefrag">PropertyValue</span> datum of | |||||
the property, and | |||||
</li> | |||||
<li> | |||||
implicitly, the <strong>Flow Object</strong> to which | |||||
the property is attached. | |||||
</li> | |||||
</ul> | |||||
<p> | |||||
Properties, then, serve essentially to link <em>FO | |||||
instances</em> with <em>PropertyValue instances</em>, | |||||
attaching certain invariant semantic markers to the | |||||
PropertyValues in the process. In this implementation, | |||||
these functions can be realised entirely within the | |||||
property <strong>classes</strong> themselves, | |||||
without the need to instantiate any objects. In practice, | |||||
<strong>property singletons</strong> are | |||||
instantiated to make access to some invariants simpler. | |||||
</p> | |||||
<p> | |||||
<strong>Next:</strong> <a href= "classes-overview.html" | |||||
>Property classes overview.</a> | |||||
</p> | |||||
</div> | |||||
<table summary="footer" cellspacing="0" cellpadding="0" width="100%" height="20" border="0"> | |||||
<tr> | |||||
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" | |||||
width="1" alt="" src="../../../skin/images/spacer.gif"><a | |||||
href="../../../skin/images/label.gif"></a><a | |||||
href="../../../skin/images/page.gif"></a><a | |||||
href="../../../skin/images/chapter.gif"></a><a | |||||
href="../../../skin/images/chapter_open.gif"></a><a | |||||
href="../../../skin/images/current.gif"></a><a | |||||
href="../../..//favicon.ico"></a></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="2" bgcolor="#CFDCED" class="copyright" | |||||
align="center"><font size="2" face="Arial, Helvetica, | |||||
Sans-Serif">Copyright © 1999-2002 The Apache | |||||
Software Foundation. All rights reserved.<script | |||||
type="text/javascript" language="JavaScript"><!-- | |||||
document.write(" - "+"Last Published: " + | |||||
document.lastModified); // --></script></font></td> | |||||
</tr> | |||||
<tr> | |||||
<td align="left" bgcolor="#CFDCED" class="logos"></td><td | |||||
align="right" bgcolor="#CFDCED" class="logos"></td> | |||||
</tr> | |||||
</table> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |||||
<title>Property Expression Parsing</title> | |||||
<style type= "text/css" > | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF"> | |||||
<div class="content"> | |||||
<h1>Property Expression Parsing</h1> | |||||
<p> | |||||
<font size="-2">by Peter B. West</font> | |||||
</p> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10014">Property expression parsing</a> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10044">Data types</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N10252">Tokenizer</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N1029C">Parser</a> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
<a name="N10014"></a> | |||||
<h3>Property expression parsing</h3> | |||||
<p> | |||||
The parsing of property value expressions is handled by two | |||||
closely related classes: <a href= | |||||
"javascript:parent.displayCode( | |||||
'PropertyTokenizer.html#PropertyTokenizerClass' )" ><span | |||||
class="codefrag">org.apache.fop.fo.expr.PropertyTokenizer</span></a> | |||||
and its subclass, <a href= "javascript:parent.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( | |||||
'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( | |||||
'PropertyValueList.html#PropertyValueListClass' )" ><span | |||||
class= "codefrag">PropertyValueList</span></a>, a list of <a | |||||
href= "javascript:parent.displayCode( | |||||
'PropertyValue.html#PropertyValueInterface' )" ><span class= | |||||
"codefrag">PropertyValue</span></a>s. | |||||
</p> | |||||
<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( | |||||
'PropertyValue.html#NO_TYPE' )" ><span class= "codefrag" | |||||
>PropertyValue</span> datatype constant definitions</a>. | |||||
</p> | |||||
<a name="N10044"></a> | |||||
<h4>Data types</h4> | |||||
<p> | |||||
The data types currently defined in | |||||
<span class="codefrag">org.apache.fop.datatypes</span> include: | |||||
</p> | |||||
<table class="ForrestTable" cellspacing="1" cellpadding="4"> | |||||
<tr> | |||||
<th colspan="2" rowspan="1">Numbers and lengths</th> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">Numeric</th> | |||||
<td colspan="3" rowspan="1"> | |||||
The fundamental length data type. <em>Numerics</em> of | |||||
various types are constructed by the classes listed | |||||
below. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="3" | |||||
rowspan="1">Constructor classes for <em>Numeric</em></th> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1">Ems</td> | |||||
<td colspan="2" rowspan="1">Relative length in <em>ems</em></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1">IntegerType</td> | |||||
<td colspan="1" rowspan="1"></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1">Length</td> | |||||
<td colspan="2" rowspan="1">In centimetres(cm), millimetres(mm), | |||||
inches(in), points(pt), picas(pc) or pixels(px)</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1">Percentage</td> | |||||
<td colspan="1" rowspan="1"></td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">Other Numeric</th> | |||||
<td colspan="3" rowspan="1"> | |||||
Other numeric vaues which do not interact with the | |||||
lengths represented by <em>Numeric</em> values. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1">Angle</td> | |||||
<td colspan="2" rowspan="1">In degrees(deg), gradients(grad) or | |||||
radians(rad)</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1">Frequency</td> | |||||
<td colspan="2" rowspan="1">In hertz(Hz) or kilohertz(kHz)</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1">Time</td> | |||||
<td colspan="1" rowspan="1">In seconds(s) or milliseconds(ms)</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="2" rowspan="1">Strings</th> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">StringType</th> | |||||
<td colspan="3" rowspan="1"> | |||||
Base class for data types which result in a <em>String</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">Literal</th> | |||||
<td colspan="2" rowspan="1"> | |||||
A subclass of <em>StringType</em> for literals which | |||||
exceed the constraints of an <em>NCName</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">MimeType</th> | |||||
<td colspan="2" rowspan="1"> | |||||
A subclass of <em>StringType</em> for literals which | |||||
represent a mime type. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">UriType</th> | |||||
<td colspan="2" rowspan="1"> | |||||
A subclass of <em>StringType</em> for literals which | |||||
represent a URI, as specified by the argument to | |||||
<em>url()</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">NCName</th> | |||||
<td colspan="2" rowspan="1"> | |||||
A subclass of <em>StringType</em> for literals which | |||||
meet the constraints of an <em>NCName</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">Country</th> | |||||
<td colspan="1" rowspan="1">An RFC 3066/ISO 3166 country code.</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">Language</th> | |||||
<td colspan="1" rowspan="1">An RFC 3066/ISO 639 language code.</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">Script</th> | |||||
<td colspan="1" rowspan="1">An ISO 15924 script code.</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="2" rowspan="1">Enumerated types</th> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">EnumType</th> | |||||
<td colspan="3" rowspan="1"> | |||||
An integer representing one of the tokens in a set of | |||||
enumeration values. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="1" rowspan="1"></td> | |||||
<th colspan="1" rowspan="1">MappedEnumType</th> | |||||
<td colspan="2" rowspan="1"> | |||||
A subclass of <em>EnumType</em>. Maintains a | |||||
<em>String</em> with the value to which the associated | |||||
"raw" enumeration token maps. E.g., the | |||||
<em>font-size</em> enumeration value "medium" maps to | |||||
the <em>String</em> "12pt". | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="2" rowspan="1">Colors</th> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">ColorType</th> | |||||
<td colspan="3" rowspan="1"> | |||||
Maintains a four-element array of float, derived from | |||||
the name of a standard colour, the name returned by a | |||||
call to <em>system-color()</em>, or an RGB | |||||
specification. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="2" rowspan="1">Fonts</th> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">FontFamilySet</th> | |||||
<td colspan="3" rowspan="1"> | |||||
Maintains an array of <em>String</em>s containing a | |||||
prioritized list of possibly generic font family names. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="2" rowspan="1">Pseudo-types</th> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="4" rowspan="1"> | |||||
A variety of pseudo-types have been defined as | |||||
convenience types for frequently appearing enumeration | |||||
token values, or for other special purposes. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">Inherit</th> | |||||
<td colspan="3" rowspan="1"> | |||||
For values of <em>inherit</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">Auto</th> | |||||
<td colspan="3" rowspan="1"> | |||||
For values of <em>auto</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">None</th> | |||||
<td colspan="3" rowspan="1"> | |||||
For values of <em>none</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">Bool</th> | |||||
<td colspan="3" rowspan="1"> | |||||
For values of <em>true/false</em>. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">FromNearestSpecified</th> | |||||
<td colspan="3" rowspan="1"> | |||||
Created to ensure that, when associated with | |||||
a shorthand, the <em>from-nearest-specified-value()</em> | |||||
core function is the sole component of the expression. | |||||
</td> | |||||
</tr> | |||||
<tr> | |||||
<th colspan="1" rowspan="1">FromParent</th> | |||||
<td colspan="3" rowspan="1"> | |||||
Created to ensure that, when associated with | |||||
a shorthand, the <em>from-parent()</em> | |||||
core function is the sole component of the expression. | |||||
</td> | |||||
</tr> | |||||
</table> | |||||
<a name="N10252"></a> | |||||
<h4>Tokenizer</h4> | |||||
<p> | |||||
The tokenizer returns one of the following token | |||||
values: | |||||
</p> | |||||
<pre class="code"> | |||||
static final int | |||||
EOF = 0 | |||||
,NCNAME = 1 | |||||
,MULTIPLY = 2 | |||||
,LPAR = 3 | |||||
,RPAR = 4 | |||||
,LITERAL = 5 | |||||
,FUNCTION_LPAR = 6 | |||||
,PLUS = 7 | |||||
,MINUS = 8 | |||||
,MOD = 9 | |||||
,DIV = 10 | |||||
,COMMA = 11 | |||||
,PERCENT = 12 | |||||
,COLORSPEC = 13 | |||||
,FLOAT = 14 | |||||
,INTEGER = 15 | |||||
,ABSOLUTE_LENGTH = 16 | |||||
,RELATIVE_LENGTH = 17 | |||||
,TIME = 18 | |||||
,FREQ = 19 | |||||
,ANGLE = 20 | |||||
,INHERIT = 21 | |||||
,AUTO = 22 | |||||
,NONE = 23 | |||||
,BOOL = 24 | |||||
,URI = 25 | |||||
,MIMETYPE = 26 | |||||
// NO_UNIT is a transient token for internal use only. It is | |||||
// never set as the end result of parsing a token. | |||||
,NO_UNIT = 27 | |||||
; | |||||
</pre> | |||||
<p> | |||||
Most of these tokens are self-explanatory, but a few need | |||||
further comment. | |||||
</p> | |||||
<dl> | |||||
<dt>AUTO</dt> | |||||
<dd> | |||||
Because of its frequency of occurrence, and the fact that | |||||
it is always the <em>initial value</em> for any property | |||||
which supports it, AUTO has been promoted into a | |||||
pseudo-type with its on datatype class. Therefore, it is | |||||
also reported as a token. | |||||
</dd> | |||||
<dt>NONE</dt> | |||||
<dd> | |||||
Similarly to AUTO, NONE has been promoted to a pseudo-type | |||||
because of its frequency. | |||||
</dd> | |||||
<dt>BOOL</dt> | |||||
<dd> | |||||
There is a <em>de facto</em> boolean type buried in the | |||||
enumeration types for many of the properties. It had been | |||||
specified as a type in its own right in this code. | |||||
</dd> | |||||
<dt>MIMETYPE</dt> | |||||
<dd> | |||||
The property <span class="codefrag">content-type</span> | |||||
introduces this complication. It can have two values of the | |||||
form <strong>content-type:</strong><em>mime-type</em> | |||||
(e.g. <span | |||||
class="codefrag">content-type="content-type:xml/svg"</span>) | |||||
or <strong>namespace-prefix:</strong><em>prefix</em> | |||||
(e.g. <span | |||||
class="codefrag">content-type="namespace-prefix:svg"</span>). | |||||
The experimental code reduces these options to the payload | |||||
in each case: an <span class="codefrag">NCName</span> in the | |||||
case of a namespace prefix, and a MIMETYPE in the case of a | |||||
content-type specification. <span | |||||
class="codefrag">NCName</span>s cannot contain a "/". | |||||
</dd> | |||||
</dl> | |||||
<a name="N1029C"></a> | |||||
<h4>Parser</h4> | |||||
<p> | |||||
The parser returns a <span | |||||
class="codefrag">PropertyValueList</span>, necessary because | |||||
of the possibility that a list of <span | |||||
class="codefrag">PropertyValue</span> elements may be returned | |||||
from the expressions of some properties. | |||||
</p> | |||||
<p> | |||||
<span class="codefrag">PropertyValueList</span>s may contain | |||||
<span class="codefrag">PropertyValue</span>s or other <span | |||||
class="codefrag">PropertyValueList</span>s. This latter | |||||
provision is necessitated for the peculiar case of of | |||||
<em>text-shadow</em>, which may contain whitespace separated | |||||
sublists of either two or three elements, separated from one | |||||
another by commas. To accommodate this peculiarity, comma | |||||
separated elements are added to the top-level list, while | |||||
whitespace separated values are always collected into sublists | |||||
to be added to the top-level list. | |||||
</p> | |||||
<p> | |||||
Other special cases include the processing of the core | |||||
functions <span class="codefrag">from-parent()</span> and | |||||
<span class="codefrag">from-nearest-specified-value()</span> | |||||
when these function calls are assigned to a shorthand | |||||
property, or used with a shorthand property name as an | |||||
argument. In these cases, the function call must be the sole | |||||
component of the expression. The pseudo-element classes <span | |||||
class="codefrag">FromParent</span> and <span | |||||
class="codefrag">FromNearestSpecified</span> are generated in | |||||
these circumstances so that an exception will be thrown if | |||||
they are involved in expression evaluation with other | |||||
components. (See Rec. Section 5.10.4 Property Value | |||||
Functions.) | |||||
</p> | |||||
<p> | |||||
The experimental code is a simple extension of the existing | |||||
parser code, which itself borrowed heavily from James | |||||
Clark's XT processor. | |||||
</p> | |||||
</div> | |||||
<table summary="footer" cellspacing="0" cellpadding="0" width="100%" height="20" border="0"> | |||||
<tr> | |||||
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" | |||||
width="1" alt="" src="../../../skin/images/spacer.gif"><a | |||||
href="../../../skin/images/label.gif"></a><a | |||||
href="../../../skin/images/page.gif"></a><a | |||||
href="../../../skin/images/chapter.gif"></a><a | |||||
href="../../../skin/images/chapter_open.gif"></a><a | |||||
href="../../../skin/images/current.gif"></a><a | |||||
href="../../..//favicon.ico"></a></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="2" bgcolor="#CFDCED" class="copyright" | |||||
align="center"><font size="2" face="Arial, Helvetica, | |||||
Sans-Serif">Copyright © 1999-2002 The Apache | |||||
Software Foundation. All rights reserved.<script | |||||
type="text/javascript" language="JavaScript"><!-- | |||||
document.write(" - "+"Last Published: " + | |||||
document.lastModified); // --></script></font></td> | |||||
</tr> | |||||
<tr> | |||||
<td align="left" bgcolor="#CFDCED" class="logos"></td><td | |||||
align="right" bgcolor="#CFDCED" class="logos"></td> | |||||
</tr> | |||||
</table> | |||||
</body> | |||||
</html> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |||||
<html> | |||||
<head> | |||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |||||
<title>Simple <property> Classes</title> | |||||
<style type= "text/css" > | |||||
body { | |||||
font-family: Verdana, Helvetica, sans-serif; | |||||
} | |||||
.note { border: solid 1px #7099C5; background-color: #f0f0ff; } | |||||
.note .label { background-color: #7099C5; color: #ffffff; } | |||||
.content { | |||||
padding: 5px 5px 5px 10px; | |||||
font : Verdana, Helvetica, sans-serif; font-size : 90%; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" text="#000000" bgcolor="#FFFFFF"> | |||||
<div class="content"> | |||||
<h1>Simple <property> Classes</h1> | |||||
<p> | |||||
<font size="-2">by Peter B. West</font> | |||||
</p> | |||||
<ul class="minitoc"> | |||||
<li> | |||||
<a href="#N10014">Introduction</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N10026">Common data</a> | |||||
</li> | |||||
<li> | |||||
<a href="#N10075">Accessing <property> Data Constants</a> | |||||
</li> | |||||
</ul> | |||||
<a name="N10014"></a> | |||||
<h3>Introduction</h3> | |||||
<p> | |||||
An <a href="classes-overview.html">overview of the properties | |||||
and classes</a> involved in handling properties has already | |||||
been given. This discussion will go in detail into the way | |||||
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( | |||||
'PropertyConsts.html#PropertyConstsClass' )" ><span | |||||
class="codefrag">PropertyConsts</span></a> class and its | |||||
singleton object. | |||||
</p> | |||||
<a name="N10026"></a> | |||||
<h3>Common data</h3> | |||||
<p> | |||||
<a href= "javascript:parent.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: | |||||
</p> | |||||
<dl> | |||||
<dt> | |||||
<span class="codefrag">final int dataTypes</span> | |||||
</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 <a href= | |||||
"javascript:parent.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, | |||||
bit-ORed together. | |||||
</dd> | |||||
<dt> | |||||
<span class="codefrag">final int traitMapping</span> | |||||
</dt> | |||||
<dd> | |||||
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' )" | |||||
><span | |||||
class="codefrag">org.apache.fop.fo.properties.Property</span></a>, | |||||
and may consist of more than one of those constants, | |||||
bit-ORed together. | |||||
</dd> | |||||
<dt> | |||||
<span class="codefrag">final int initialValueType</span> | |||||
</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 <a href= | |||||
"javascript:parent.displayCode( 'Property.html#NOTYPE_IT' )" | |||||
><span | |||||
class="codefrag">org.apache.fop.fo.properties.Property</span></a>. | |||||
In the simplest property classes, such as <span | |||||
class="codefrag">Character</span>, there is no defined | |||||
initial value type. | |||||
</dd> | |||||
<dt> | |||||
<span class="codefrag">final int inherited</span> | |||||
</dt> | |||||
<dd> | |||||
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 | |||||
class="codefrag">org.apache.fop.fo.properties.Property</span></a>. | |||||
</dd> | |||||
</dl> | |||||
<a name="N10075"></a> | |||||
<h3>Accessing <property> Data Constants</h3> | |||||
<p> | |||||
The constants above are generally accessed through the arrays | |||||
maintained in the <a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#PropertyConstsClass' )" ><span | |||||
class="codefrag">PropertyConsts</span></a> singleton <a href= | |||||
"javascript:parent.displayCode( 'PropertyConsts.html#pconsts' | |||||
)" ><span class="codefrag">pconsts</span></a>. The first | |||||
invocation of the method <a href= | |||||
"javascript:parent.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' | |||||
)" ><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( | |||||
'PropertyConsts.html#properties' )" ><span | |||||
class="codefrag">Property[] properties</span></a> array of <a | |||||
href= "javascript:parent.displayCode( | |||||
'../PropertyConsts.html#pconsts' )" ><span | |||||
class="codefrag">pconsts</span></a>. | |||||
</p> | |||||
<p> | |||||
<em>Reflection</em> methods are then used, via the same <span | |||||
class="codefrag">Class</span> instance, to extract and store | |||||
the static data fields. These arrays and associated access | |||||
methods are: | |||||
</p> | |||||
<dl> | |||||
<dt> | |||||
<a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#datatypes' )" ><span | |||||
class="codefrag">int[] datatypes</span></a> | |||||
</dt> | |||||
<dd> | |||||
<a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#getDataTypes' )" ><span | |||||
class="codefrag">int getDataTypes(int)</span></a> | |||||
</dd> | |||||
<dt> | |||||
<a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#traitMappings' )" ><span | |||||
class="codefrag">int[] traitMappings</span></a> | |||||
</dt> | |||||
<dd> | |||||
<em>No access method yet defined.</em> | |||||
</dd> | |||||
<dt> | |||||
<a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#initialValueTypes' )" ><span | |||||
class="codefrag">int[] initialValueTypes</span></a> | |||||
</dt> | |||||
<dd> | |||||
<a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#getInitialValueType' )" ><span | |||||
class="codefrag">int getInitialValueType(int)</span></a> | |||||
</dd> | |||||
<dt> | |||||
<a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#inherited' )" ><span | |||||
class="codefrag">int[] inherited</span></a> | |||||
</dt> | |||||
<dd> | |||||
<a href= "javascript:parent.displayCode( | |||||
'PropertyConsts.html#inheritance' )" ><span | |||||
class="codefrag">int inheritance(int)</span></a> | |||||
</dd> | |||||
</dl> | |||||
<p> | |||||
<strong>Previous:</strong> <a href = "PropertyConsts-class.html" | |||||
>PropertyConsts class</a> | |||||
</p> | |||||
<p> | |||||
<strong>Next:</strong> <a href= "getInitialValue.html" | |||||
>getInitialValue()</a> | |||||
</p> | |||||
</div> | |||||
<table summary="footer" cellspacing="0" cellpadding="0" width="100%" height="20" border="0"> | |||||
<tr> | |||||
<td colspan="2" height="1" bgcolor="#4C6C8F"><img height="1" | |||||
width="1" alt="" src="../../../skin/images/spacer.gif"><a | |||||
href="../../../skin/images/label.gif"></a><a | |||||
href="../../../skin/images/page.gif"></a><a | |||||
href="../../../skin/images/chapter.gif"></a><a | |||||
href="../../../skin/images/chapter_open.gif"></a><a | |||||
href="../../../skin/images/current.gif"></a><a | |||||
href="../../..//favicon.ico"></a></td> | |||||
</tr> | |||||
<tr> | |||||
<td colspan="2" bgcolor="#CFDCED" class="copyright" | |||||
align="center"><font size="2" face="Arial, Helvetica, | |||||
Sans-Serif">Copyright © 1999-2002 The Apache | |||||
Software Foundation. All rights reserved.<script | |||||
type="text/javascript" language="JavaScript"><!-- | |||||
document.write(" - "+"Last Published: " + | |||||
document.lastModified); // --></script></font></td> | |||||
</tr> | |||||
<tr> | |||||
<td align="left" bgcolor="#CFDCED" class="logos"></td><td | |||||
align="right" bgcolor="#CFDCED" class="logos"></td> | |||||
</tr> | |||||
</table> | |||||
</body> | |||||
</html> |