You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

classes-overview.html 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
  2. <html>
  3. <head>
  4. <META http-equiv= "Content-Type" content= "text/html; charset=ISO-8859-1" >
  5. <title>Property classes overview</title>
  6. <link type="text/css" href="../../../page.css" rel="stylesheet">
  7. </head>
  8. <body marginheight= "0" marginwidth= "0" topmargin= "0" leftmargin= "0" text= "#000000" bgcolor= "#FFFFFF" >
  9. <div class= "content" >
  10. <h1>Property classes overview</h1>
  11. <p>
  12. <font size= "-2" >by&nbsp;Peter B. West</font>
  13. </p>
  14. <ul class= "minitoc" >
  15. <li>
  16. <a href = "#N10014" >Properties: packages</a>
  17. <ul class= "minitoc" >
  18. <li>
  19. <a href = "#N10019" >org.apache.fop.fo</a>
  20. </li>
  21. <li>
  22. <a href = "#N100AC" >org.apache.fop.fo.properties</a>
  23. </li>
  24. <li>
  25. <a href = "#N100EE" >org.apache.fop.fo.expr</a>
  26. </li>
  27. <li>
  28. <a href = "#N10134" >org.apache.fop.datatypes</a>
  29. </li>
  30. <li>
  31. <a href = "#N101A2"
  32. >org.apache.fop.datatypes.indirect</a>
  33. </li>
  34. </ul>
  35. </li>
  36. </ul>
  37. <a name= "N10014" ></a> <h3>Properties: packages</h3> <a name=
  38. "N10019" ></a> <h4>org.apache.fop.fo</h4>
  39. <dl>
  40. <dt>
  41. <a href = "javascript:window.top.displayCode(
  42. 'PropNames.html#PropNamesClass'
  43. )" ><em>PropNames</em></a>
  44. </dt>
  45. <dd>
  46. This class maintains an array of <a href=
  47. "javascript:window.top.displayCode(
  48. 'PropNames.html#propertyNames' )" >property names</a>,
  49. synchronized to a complete set of property name <a href =
  50. "javascript:window.top.displayCode( 'PropNames.html#NO_PROPERTY'
  51. )" >constants</a> for indexing property-based arrays. It
  52. includes methods to <a href =
  53. "javascript:window.top.displayCode(
  54. 'PropNames.html#getPropertyName' )" >convert an index to a
  55. name</a> and to <a href = "javascript:window.top.displayCode(
  56. 'PropNames.html#getPropertyIndex' )" >convert a property
  57. name to an index</a>.
  58. </dd>
  59. <dt>
  60. <a href = "PropertyConsts-class.html" ><em>PropertyConsts</em></a>
  61. </dt>
  62. <dd>
  63. A singleton instance of <span class= "codefrag"
  64. >PropertyConsts</span> is created by the static initializer
  65. of the <a href = "javascript:window.top.displayCode(
  66. 'PropertyConsts.html#pconsts' )" >pconsts</a> field.
  67. Working from the property indices defined in PropNames, the
  68. methods in this class collect and supply the values of
  69. fields defined in property objects into arrays.<br> The
  70. heart of this class in the method <a href =
  71. "javascript:window.top.displayCode(
  72. 'PropertyConsts.html#setupProperty' )" >setupProperty</a>,
  73. which constructs the property name from the index,
  74. instantiates a singleton of the appropriate class, and
  75. extracts static fields by reflection from that instance into
  76. the arrays of field values.
  77. </dd>
  78. <dt>
  79. <a href = "javascript:window.top.displayCode(
  80. 'PropertySets.html#PropertySetsClass' )" ><em>PropertySets</em></a>
  81. </dt>
  82. <dd>
  83. This class provides a number of <span class= "codefrag"
  84. >ROBitSet</span>s representing many of the sets of
  85. properties defined in <em>Section 7</em> of the
  86. specification. Note that the <a
  87. href="javascript:window.top.displayCode(
  88. 'PropertySets.html#borderProps' )"><em>Border</em></a>, <a
  89. href="javascript:window.top.displayCode(
  90. 'PropertySets.html#paddingProps' )"><em>Padding</em></a> and
  91. <a href="javascript:window.top.displayCode(
  92. 'PropertySets.html#backgroundProps'
  93. )"><em>Background</em></a> sets are defined separately.
  94. </dd>
  95. <dt>
  96. <a href = "javascript:window.top.displayCode(
  97. '../FOPropertySets.html#FOPropertySetsClass' )"
  98. ><em>FOPropertySets</em></a>
  99. </dt>
  100. <dd>
  101. This class provides a number of <span class= "codefrag"
  102. >ROBitSet</span>s representing sets of properties which are
  103. applicable in particular subtrees of the FO tree. These
  104. sets are provided so that other properties can be ignored
  105. during processing of the subtrees.
  106. </dd>
  107. <dt>
  108. <a href = "javascript:window.top.displayCode(
  109. 'ShorthandPropSets.html#ShorthandPropSetsClass' )"
  110. ><em>ShorthandPropSets</em></a>
  111. </dt>
  112. <dd>
  113. This class contains arrays of <a href =
  114. "javascript:window.top.displayCode(
  115. 'ShorthandPropSets.html#shorthands' )" >shorthand property
  116. indices</a> and <a href = "javascript:window.top.displayCode(
  117. 'ShorthandPropSets.html#compounds' )" >compound property
  118. indices</a>, and <span class= "codefrag" >ROBitSet</span>s
  119. representing the expansion sets of these shorthands and
  120. compounds. Various methods useful in the expansion of these
  121. properties are also included.
  122. </dd>
  123. <dt>
  124. <a href = "javascript:window.top.displayCode(
  125. 'FOAttributes.html#FOAttributesClass' )"
  126. ><em>FOAttributes</em></a>
  127. </dt>
  128. <dd>
  129. This class manages the attribute set that is associated with
  130. a SAX <span class= "codefrag" >startElement</span> event.
  131. <em>fo:</em> namespace attributes are entered into a <a href
  132. = "javascript:window.top.displayCode(
  133. 'FOAttributes.html#foAttrMap' )"><span class= "codefrag"
  134. >HashMap</span></a>, indexed by the <em>fo:</em> property
  135. index. As other namespaces are encountered, the values are
  136. entered into namespace-specific <a href =
  137. "javascript:window.top.displayCode(
  138. 'FOAttributes.html#nSpaceAttrMaps' )"><span class=
  139. "codefrag" >HashMap</span>s</a>, indexed by the <em>local
  140. name</em> of the attribute.
  141. </dd>
  142. </dl>
  143. <a name= "N100AC" ></a><a name= "property-classes" ></a>
  144. <h4>org.apache.fop.fo.properties</h4>
  145. <dl>
  146. <dt>
  147. <a href="javascript:window.top.displayCode(
  148. 'Property.html#PropertyClass' )" ><em>Property</em></a>
  149. </dt>
  150. <dd>
  151. The base class for all individual property classes.
  152. There are 320 properties in all.
  153. </dd>
  154. <dt>
  155. <em>ColumnNumber</em>
  156. </dt>
  157. <dd>
  158. The actual property class with the lowest index
  159. number, followed in the index order by properties required
  160. for further processing, e.g. FontSize.
  161. </dd>
  162. <dt>
  163. <em>....</em>
  164. </dt>
  165. <dd>....</dd>
  166. <dt>
  167. <em>Background</em>
  168. </dt>
  169. <dd>
  170. First in index order of the remainining shorthand
  171. properties, followed in index order by all other remaining
  172. shorthands.
  173. </dd>
  174. <dt>
  175. <em>....</em>
  176. </dt>
  177. <dd>....</dd>
  178. <dt>
  179. <em>AbsolutePosition</em>
  180. </dt>
  181. <dd>
  182. First in index order of the remaining properties. Within
  183. this ordering, compound properties precede their expansion
  184. properties, and corresponding relative properties precede
  185. corresponding absolute properties.
  186. </dd>
  187. <dt>
  188. <em>....</em>
  189. </dt>
  190. <dd>....</dd>
  191. <dt>
  192. <em>ZIndex</em>
  193. </dt>
  194. <dd>
  195. The property class with the highest index
  196. number.
  197. </dd>
  198. </dl>
  199. <a name= "N100EE" ></a>
  200. <h4>org.apache.fop.fo.expr</h4>
  201. <dl>
  202. <dt>
  203. <a href = "javascript:window.top.displayCode(
  204. 'PropertyTokenizer.html#PropertyTokenizerClass' )"
  205. ><em>PropertyTokenizer</em></a>
  206. </dt>
  207. <dd>
  208. The tokenizer for the property expression parser. Defines a
  209. set of <a href = "javascript:window.top.displayCode(
  210. 'PropertyTokenizer.html#EOF' )" >token constants</a> and
  211. returns these with associated token values.
  212. </dd>
  213. <dt>
  214. <a href = "javascript:window.top.displayCode(
  215. 'PropertyParser.html#PropertyParserClass' )"
  216. ><em>PropertyParser</em></a>
  217. </dt>
  218. <dd>
  219. This extends <span class= "codefrag"
  220. >PropertyTokenizer</span>. It parses property
  221. expressions on the basis of the tokens passed to it by its
  222. superclass, generating <span class= "codefrag"
  223. >PropertyValue</span>s, including <span class= "codefrag"
  224. >PropertyValueList</span>s.
  225. </dd>
  226. <dt>
  227. <em>PropertyException</em>
  228. </dt>
  229. <dd>
  230. The basic class for all property-related exceptions.
  231. It extends <span class= "codefrag" >FOPException</span>. It
  232. is housed in this package by historical accident.
  233. </dd>
  234. <dt>
  235. <em>DataTypeNotImplementedException</em>
  236. <br>
  237. <em>FunctionNotImplementedException</em>
  238. <br>
  239. <em>PropertyNotImplementedException</em>
  240. </dt>
  241. <dd>
  242. A set of particular exceptions extending <span class=
  243. "codefrag" >PropertyException</span>. Also in this package
  244. by accident.
  245. </dd>
  246. </dl>
  247. <a name= "N10134" ></a>
  248. <h4>org.apache.fop.datatypes</h4>
  249. <dl>
  250. <dt>
  251. <a href = "javascript:window.top.displayCode(
  252. 'PropertyValue.html#PropertyValueInterface' )"
  253. ><em>PropertyValue</em></a>
  254. </dt>
  255. <dd>
  256. An <em>interface</em> which all <span class= "codefrag"
  257. >PropertyValue</span> classes must implement. In addition
  258. to a few methods, <span class= "codefrag"
  259. >PropertyValue</span> defines the set of <a href =
  260. "javascript:window.top.displayCode( 'PropertyValue.html#NO_TYPE'
  261. )" >constants</a> which the <span class= "codefrag"
  262. >getType()</span> method may return; i.e. the valid set of
  263. <span class= "codefrag" >PropertyValue</span> types.
  264. </dd>
  265. <dt>
  266. <a href = "javascript:window.top.displayCode(
  267. 'AbstractPropertyValue.html#AbstractPropertyValueClass' )"
  268. ><em>AbstractPropertyValue</em></a>
  269. </dt>
  270. <dd>
  271. An abstract implementation of the <span class= "codefrag"
  272. >PropertyValue</span> interface. Most actual property value
  273. classes extend <span class= "codefrag"
  274. >AbstractPropertyValue</span>.
  275. </dd>
  276. <dt>
  277. <a href = "javascript:window.top.displayCode(
  278. 'PropertyValueList.html#PropertyValueListClass' )"
  279. ><em>PropertyValueList</em></a>
  280. </dt>
  281. <dd>
  282. This class extends <span class= "codefrag"
  283. >LinkedList</span> and implements <span class= "codefrag"
  284. >PropertyValue</span>. It is used whenever the process of
  285. resolving a property expression yields a list of <span
  286. class= "codefrag" >PropertyValue</span> elements; notably
  287. during the processing of shorthands and "compound"
  288. properties.
  289. </dd>
  290. <dt>
  291. <em>StringType</em>
  292. </dt>
  293. <dd>
  294. A basic type extending <span class= "codefrag"
  295. >AbstractPropertyValue</span>. Extended by <span class=
  296. "codefrag" >NCName</span>.
  297. </dd>
  298. <dt>
  299. <em>NCName</em>
  300. </dt>
  301. <dd>
  302. Extends <span class= "codefrag" >StringType</span> to represent
  303. NCName strings.
  304. </dd>
  305. <dt>
  306. <em>EnumType</em>
  307. </dt>
  308. <dd>
  309. Extends <span class= "codefrag"
  310. >AbstractPropertyValue</span> to represented enumerated
  311. types.
  312. </dd>
  313. <dt>
  314. <em>Other types</em>
  315. </dt>
  316. <dd>
  317. All other types extend one of the above classes.
  318. </dd>
  319. </dl>
  320. <a name= "N101A2" ></a>
  321. <h4>org.apache.fop.datatypes.indirect</h4>
  322. <dl>
  323. <dt>
  324. <em>IndirectValue</em>
  325. </dt>
  326. <dd>
  327. The base type for all indirect value types; extends
  328. <span class= "codefrag" >AbstractPropertyValue</span>.
  329. </dd>
  330. </dl>
  331. <p>
  332. <strong>Previous:</strong> <a href = "introduction.html"
  333. >Introduction</a>
  334. </p>
  335. <p>
  336. <strong>Next:</strong> <a href= "PropertyConsts-class.html"
  337. >The PropertyConsts class</a>
  338. </p>
  339. </div>
  340. <table summary= "footer" cellspacing= "0" cellpadding= "0" width= "100%" height= "20" border= "0" >
  341. <tr>
  342. <td colspan= "2" height= "1" bgcolor= "#4C6C8F" ><img
  343. height= "1" width= "1" alt= "" src=
  344. "../../skin/images/spacer.gif" ><a href =
  345. "../../skin/images/label.gif" ></a><a href =
  346. "../../skin/images/page.gif" ></a><a href =
  347. "../../skin/images/chapter.gif" ></a><a href =
  348. "../../skin/images/chapter_open.gif" ></a><a href =
  349. "../../skin/images/current.gif" ></a><a href =
  350. "../..//favicon.ico" ></a></td>
  351. </tr>
  352. <tr>
  353. <td colspan= "2" bgcolor= "#CFDCED" class= "copyright"
  354. align= "center" ><font size= "2" face= "Arial, Helvetica,
  355. Sans-Serif" >Copyright &copy; 1999-2002&nbsp;The Apache
  356. Software Foundation. All rights reserved.<script type=
  357. "text/javascript" language= "JavaScript" ><!--
  358. document.write(" - "+"Last Published: " +
  359. document.lastModified); // --></script></font></td>
  360. </tr>
  361. <tr>
  362. <td align= "left" bgcolor= "#CFDCED" class= "logos"
  363. ></td><td align= "right" bgcolor= "#CFDCED" class= "logos"
  364. ></td>
  365. </tr>
  366. </table>
  367. </body>
  368. </html>