| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| SinkEventAttributes |
|
| 0.0;0 |
| 1 | package org.apache.maven.doxia.sink; | |
| 2 | ||
| 3 | /* | |
| 4 | * Licensed to the Apache Software Foundation (ASF) under one | |
| 5 | * or more contributor license agreements. See the NOTICE file | |
| 6 | * distributed with this work for additional information | |
| 7 | * regarding copyright ownership. The ASF licenses this file | |
| 8 | * to you under the Apache License, Version 2.0 (the | |
| 9 | * "License"); you may not use this file except in compliance | |
| 10 | * with the License. You may obtain a copy of the License at | |
| 11 | * | |
| 12 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 13 | * | |
| 14 | * Unless required by applicable law or agreed to in writing, | |
| 15 | * software distributed under the License is distributed on an | |
| 16 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| 17 | * KIND, either express or implied. See the License for the | |
| 18 | * specific language governing permissions and limitations | |
| 19 | * under the License. | |
| 20 | */ | |
| 21 | ||
| 22 | import javax.swing.text.MutableAttributeSet; | |
| 23 | ||
| 24 | /** | |
| 25 | * A set of attributes for a sink event. | |
| 26 | * <p> | |
| 27 | * All sink methods that produce some presentation-level output should have at least | |
| 28 | * one form that allows to pass in a Set of SinkEventAttributes. For instance in | |
| 29 | * <pre>void text( String text, SinkEventAttributes attributes );</pre> | |
| 30 | * the <code>attributes</code> parameter can be used to specify some text styling | |
| 31 | * options, or other optional parameters. | |
| 32 | * </p> | |
| 33 | * <p> | |
| 34 | * What kind of attributes are supported depends on the event and the sink | |
| 35 | * implementation. The sink API just specifies a list of suggested attribute | |
| 36 | * names, that sinks are expected to recognize, and parsers are expected to use | |
| 37 | * preferably when emitting events. | |
| 38 | * </p> | |
| 39 | * <p> | |
| 40 | * It is recommended that for simple attributes, both keys and values should be | |
| 41 | * lower-case Strings, but this is not mandatory. One example of an exception is | |
| 42 | * the {@link #STYLE} attribute, whose value may itself be an AttributeSet again. | |
| 43 | * </p> | |
| 44 | * <p> | |
| 45 | * The <b>base attributes</b> that are supported by almost all events are | |
| 46 | * {@link #CLASS}, {@link #ID}, {@link #LANG}, {@link #STYLE} and {@link #TITLE}. | |
| 47 | * </p> | |
| 48 | * | |
| 49 | * @author ltheussl | |
| 50 | * @version $Id: SinkEventAttributes.java 733395 2009-01-10 23:09:40Z ltheussl $ | |
| 51 | * @since 1.1 | |
| 52 | */ | |
| 53 | public interface SinkEventAttributes | |
| 54 | extends MutableAttributeSet | |
| 55 | { | |
| 56 | // base | |
| 57 | ||
| 58 | /** | |
| 59 | * The class of the event element. | |
| 60 | */ | |
| 61 | String CLASS = "class"; | |
| 62 | ||
| 63 | /** | |
| 64 | * A unique id for the event element. | |
| 65 | */ | |
| 66 | String ID = "id"; | |
| 67 | ||
| 68 | /** | |
| 69 | * The language code for the event element. | |
| 70 | */ | |
| 71 | String LANG = "lang"; | |
| 72 | ||
| 73 | /** | |
| 74 | * An inline style definition. | |
| 75 | * | |
| 76 | * <p> | |
| 77 | * Generally supported values are "italic", "bold", "monospaced" and AttributeSets. | |
| 78 | * </p> | |
| 79 | * <p> | |
| 80 | * If the value of this Attribute is itself an AttributeSet, it is interpreted as a | |
| 81 | * sequence of CSS properties. For instance, the HTML paragraph opening | |
| 82 | * </p> | |
| 83 | * <pre> | |
| 84 | * <p style="color: red; margin-left: 20px"> | |
| 85 | * </pre> | |
| 86 | * <p> | |
| 87 | * can be produced by an HTML Sink via the event | |
| 88 | * <code>{@link Sink#paragraph(SinkEventAttributes)}</code>, where the value of the | |
| 89 | * SinkEventAttribute is an AttributeSet with two Attributes ("<code>color</code>" and | |
| 90 | * "<code>margin-left</code>" with values "<code>red</code>" and "<code>20px</code>", | |
| 91 | * respectively). | |
| 92 | * </p> | |
| 93 | */ | |
| 94 | String STYLE = "style"; | |
| 95 | ||
| 96 | /** | |
| 97 | * A text to display in a tool tip. | |
| 98 | */ | |
| 99 | String TITLE = "title"; | |
| 100 | ||
| 101 | // head | |
| 102 | ||
| 103 | /** | |
| 104 | * A space separated list of URL's that contains meta data information about the document. | |
| 105 | */ | |
| 106 | String PROFILE = "profile"; | |
| 107 | ||
| 108 | /** | |
| 109 | * An electronic mail address. | |
| 110 | */ | |
| 111 | String EMAIL = "email"; | |
| 112 | ||
| 113 | ||
| 114 | // img | |
| 115 | ||
| 116 | /** | |
| 117 | * Specifies the alignment of the event element within its parent element. | |
| 118 | * | |
| 119 | * <p> | |
| 120 | * Generally supported values are "left", "right", "center", "justify". | |
| 121 | * </p> | |
| 122 | */ | |
| 123 | String ALIGN = "align"; | |
| 124 | ||
| 125 | /** | |
| 126 | * Defines a short description of the event element. | |
| 127 | */ | |
| 128 | String ALT = "alt"; | |
| 129 | ||
| 130 | /** | |
| 131 | * Defines a border around an event element. | |
| 132 | */ | |
| 133 | String BORDER = "border"; | |
| 134 | ||
| 135 | /** | |
| 136 | * Defines the height of an event element. | |
| 137 | */ | |
| 138 | String HEIGHT = "height"; | |
| 139 | ||
| 140 | /** | |
| 141 | * Defines white space on the left and right side of an event element. | |
| 142 | */ | |
| 143 | String HSPACE = "hspace"; | |
| 144 | ||
| 145 | /** | |
| 146 | * Defines an image as a server-side image map. Only used by the figureGraphics Sink event. | |
| 147 | */ | |
| 148 | String ISMAP = "ismap"; | |
| 149 | ||
| 150 | /** | |
| 151 | * The URL of an external resource, eg an image. | |
| 152 | */ | |
| 153 | String SRC = "src"; | |
| 154 | ||
| 155 | /** | |
| 156 | * Defines an image as a client-side image map. | |
| 157 | */ | |
| 158 | String USEMAP = "usemap"; | |
| 159 | ||
| 160 | /** | |
| 161 | * Defines white space on the top and bottom of the event element. | |
| 162 | */ | |
| 163 | String VSPACE = "vspace"; | |
| 164 | ||
| 165 | /** | |
| 166 | * Sets the width of an event element. | |
| 167 | */ | |
| 168 | String WIDTH = "width"; | |
| 169 | ||
| 170 | // hr | |
| 171 | ||
| 172 | /** | |
| 173 | * Used to indicate that an element comes with a shadow. | |
| 174 | */ | |
| 175 | String NOSHADE = "noshade"; | |
| 176 | ||
| 177 | /** | |
| 178 | * Specifies the size, or thickness, or height of an event element. | |
| 179 | */ | |
| 180 | String SIZE = "size"; | |
| 181 | ||
| 182 | // anchor | |
| 183 | ||
| 184 | /** | |
| 185 | * Specifies the name of an anchor. | |
| 186 | */ | |
| 187 | String NAME = "name"; | |
| 188 | ||
| 189 | // link | |
| 190 | ||
| 191 | /** | |
| 192 | * Specifies the character encoding of text associated with an event element. | |
| 193 | */ | |
| 194 | String CHARSET = "charset"; | |
| 195 | ||
| 196 | /** | |
| 197 | * May be used in conjunction with {@link #SHAPE}. | |
| 198 | * | |
| 199 | * <p> | |
| 200 | * Valid values are the same as for the corresponding HTML attributes. | |
| 201 | * </p> | |
| 202 | */ | |
| 203 | String COORDS = "coords"; | |
| 204 | ||
| 205 | /** | |
| 206 | * The target URL of an event element, eg a link. | |
| 207 | */ | |
| 208 | String HREF = "href"; | |
| 209 | ||
| 210 | /** | |
| 211 | * Specifies the base language of the target URL. | |
| 212 | * | |
| 213 | * <p> | |
| 214 | * Used in conjunction with {@link #HREF}. | |
| 215 | * </p> | |
| 216 | */ | |
| 217 | String HREFLANG = "hreflang"; | |
| 218 | ||
| 219 | /** | |
| 220 | * For references to external resourcs, specifies the relationship between | |
| 221 | * the current document and the target URL. | |
| 222 | * | |
| 223 | * <p> | |
| 224 | * Valid values are the same as for the corresponding HTML attribute. | |
| 225 | * </p> | |
| 226 | */ | |
| 227 | String REL = "rel"; | |
| 228 | ||
| 229 | /** | |
| 230 | * For references to external resourcs, specifies the relationship between | |
| 231 | * the target URL and the current document. | |
| 232 | * | |
| 233 | * <p> | |
| 234 | * Valid values are the same as for the corresponding HTML attribute. | |
| 235 | * </p> | |
| 236 | */ | |
| 237 | String REV = "rev"; | |
| 238 | ||
| 239 | /** | |
| 240 | * Defines the type of region to be defined for a mapping. | |
| 241 | * | |
| 242 | * <p> | |
| 243 | * Used with the {@link #COORDS} attribute. | |
| 244 | * </p> | |
| 245 | */ | |
| 246 | String SHAPE = "shape"; | |
| 247 | ||
| 248 | /** | |
| 249 | * Where to open the target URL. | |
| 250 | * | |
| 251 | * <p> | |
| 252 | * Valid values are the same as for the corresponding HTML attribute. | |
| 253 | * </p> | |
| 254 | */ | |
| 255 | String TARGET = "target"; | |
| 256 | ||
| 257 | /** | |
| 258 | * Specifies the MIME (Multipurpose Internet Mail Extensions) type of an | |
| 259 | * external resource URL, eg a link. | |
| 260 | */ | |
| 261 | String TYPE = "type"; | |
| 262 | ||
| 263 | // table | |
| 264 | ||
| 265 | /** | |
| 266 | * Specifies the background color of an event element. | |
| 267 | */ | |
| 268 | String BGCOLOR = "bgcolor"; | |
| 269 | ||
| 270 | /** | |
| 271 | * Specifies the space between cell walls and contents. | |
| 272 | */ | |
| 273 | String CELLPADDING = "cellpadding"; | |
| 274 | ||
| 275 | /** | |
| 276 | * Specifies the space between cells. | |
| 277 | */ | |
| 278 | String CELLSPACING = "cellspacing"; | |
| 279 | ||
| 280 | /** | |
| 281 | * Specifies which sides of a border surrounding an element should be visible. | |
| 282 | * | |
| 283 | * <p> | |
| 284 | * Valid values are the same as for the corresponding HTML attribute. | |
| 285 | * </p> | |
| 286 | */ | |
| 287 | String FRAME = "frame"; | |
| 288 | ||
| 289 | /** | |
| 290 | * Specifies horizontal/vertical divider lines between certain elements, eg table cells. | |
| 291 | */ | |
| 292 | String RULES = "rules"; | |
| 293 | ||
| 294 | /** | |
| 295 | * Specifies a summary of an event attribute for speech-synthesizing/non-visual target output. | |
| 296 | */ | |
| 297 | String SUMMARY = "summary"; | |
| 298 | ||
| 299 | // table cell | |
| 300 | ||
| 301 | /** | |
| 302 | * Specifies an abbreviated version of the content in an element. | |
| 303 | */ | |
| 304 | String ABBRV = "abbrv"; | |
| 305 | ||
| 306 | /** | |
| 307 | * Defines a name for a cell. | |
| 308 | */ | |
| 309 | String AXIS = "axis"; | |
| 310 | ||
| 311 | /** | |
| 312 | * Indicates the number of columns a cell should span. Used in tables. | |
| 313 | */ | |
| 314 | String COLSPAN = "colspan"; | |
| 315 | ||
| 316 | /** | |
| 317 | * A space-separated list of cell IDs that supply header information for the cell. | |
| 318 | */ | |
| 319 | String HEADERS = "headers"; | |
| 320 | ||
| 321 | /** | |
| 322 | * Whether to disable or enable automatic text wrapping for an element. | |
| 323 | */ | |
| 324 | String NOWRAP = "nowrap"; | |
| 325 | ||
| 326 | /** | |
| 327 | * Indicates the number of rows a cell should span. Used in tables. | |
| 328 | */ | |
| 329 | String ROWSPAN = "rowspan"; | |
| 330 | ||
| 331 | /** | |
| 332 | * A general scope parameter. In Particular, for table cells this | |
| 333 | * specifies if the cell provides header information for the rest of the | |
| 334 | * row that contains it ("row"), or for the rest of the column ("col"), | |
| 335 | * or for the rest of the row group that contains it ("rowgroup"), | |
| 336 | * or for the rest of the column group that contains it ("colgroup"). | |
| 337 | */ | |
| 338 | String SCOPE = "scope"; | |
| 339 | ||
| 340 | /** | |
| 341 | * Specifies the vertical alignment of an element. | |
| 342 | * | |
| 343 | * <p> | |
| 344 | * Generally accepted values are "top", "baseline", "middle", "bottom", "sup", "sub". | |
| 345 | * </p> | |
| 346 | */ | |
| 347 | String VALIGN = "valign"; | |
| 348 | ||
| 349 | // text | |
| 350 | ||
| 351 | /** | |
| 352 | * Specifies a decoration for an element. | |
| 353 | * | |
| 354 | * <p> | |
| 355 | * Generally accepted values are "underline", "overline", "line-through", "boxed". | |
| 356 | * </p> | |
| 357 | */ | |
| 358 | String DECORATION = "decoration"; | |
| 359 | } |