javax.swing.text.html.parser

Class AttributeList

Implemented Interfaces:
DTDConstants, Serializable

public final class AttributeList
extends Object
implements DTDConstants, Serializable

Stores the attribute information, obtained by parsing SGML (DTD) tag <!ATTLIST .. >

Elements can have a associated named properties (attributes) having the assigned values. The element start tag can have any number of attribute value pairs, separated by spaces. They can appear in any order. SGML requires you to delimit the attribute values using either double (") or single (') quotation marks. In HTML, it is possible (but not recommended) to specify the value of an attribute without quotation marks. Such attribute value may only contain letters, digits, hyphens (-) and periods (.) .

The AttributeList defines a single attribute that additionally has a pointer referencing the possible subsequent attribute. The whole structure is just a simple linked list, storing all attributes of some Element. Use the getNext() method repeatedly to see all attributes in the list.

See Also:
Serialized Form

Field Summary

int
modifier
The modifier of this attribute.
String
name
The name of the attribute.
AttributeList
next
The value of ( = pointer to ) the next attribute in the linked list, storing all attributes of some Element.
int
type
The type of the attribute.
String
value
The default value of this attribute.
Vector
values
The explicit set of the allowed values of this attribute.

Fields inherited from interface javax.swing.text.html.parser.DTDConstants

ANY, CDATA, CONREF, CURRENT, DEFAULT, EMPTY, ENDTAG, ENTITIES, ENTITY, FIXED, GENERAL, ID, IDREF, IDREFS, IMPLIED, MD, MODEL, MS, NAME, NAMES, NMTOKEN, NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN, NUTOKENS, PARAMETER, PI, PUBLIC, RCDATA, REQUIRED, SDATA, STARTTAG, SYSTEM

Constructor Summary

AttributeList(String a_name)
Creates the attribute with the given name, initializing other fields to the default values ( 0 and null ).
AttributeList(String a_name, int a_type, int a_modifier, String a_default, Vector allowed_values, AttributeList a_next)
Creates the attribute with the given properties.

Method Summary

int
getModifier()
Get the modifier of this attribute.
String
getName()
Get the name of the attribute.
AttributeList
getNext()
Get the value of ( = pointer to ) the next attribute in the linked list, storing all attributes of some Element.
int
getType()
Get the type of the attribute.
String
getValue()
Get the default value of this attribute.
Enumeration
getValues()
Get the allowed values of this attribute.
static int
name2type(String typeName)
Converts a string value, representing a valid SGLM attribute type, into the corresponding value, defined in DTDConstants.
String
toString()
Returns the attribute name.
static String
type2name(int type)
Converts a value from DTDConstants into the string representation.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

modifier

public int modifier
The modifier of this attribute. This field contains one of the following DTD constants:
  • REQUIRED if the attribute value is always required,
  • IMPLIED if the user agent must supply the default value itself,
  • FIXED if the attribute value is fixed to some value and cannot be changed.
  • DEFAULT if the attribute default value has been supplied.
  • CURRENT the value that at any point in the document is the last value supplied for that element. A value is required to be supplied for the first* occurrence of an element
  • CONREF specifies the IDREF value of the reference to content in another location of the document. The element with this attribute is empty, the content from that another location must be used instead.

name

public String name
The name of the attribute. The attribute names are case insensitive.

AttributeList next
The value of ( = pointer to ) the next attribute in the linked list, storing all attributes of some Element. Contains null for the last attribute.

type

public int type
The type of the attribute. The possible values of this field (NUMBER, NAME, ID, CDATA and so on) are defined in DTDConstants.

value

public String value
The default value of this attribute. Equals to null if no default value is specified.

values

public Vector values
The explicit set of the allowed values of this attribute. Equals to null, if this parameter was not specified. Values, defined in DTD, are case insensitive.

Constructor Details

AttributeList

public AttributeList(String a_name)
Creates the attribute with the given name, initializing other fields to the default values ( 0 and null ).
Parameters:
a_name - The name of the attribute.

AttributeList

public AttributeList(String a_name,
                     int a_type,
                     int a_modifier,
                     String a_default,
                     Vector allowed_values,
                     AttributeList a_next)
Creates the attribute with the given properties.
Parameters:
a_name - The name of the attribute
a_type - The type of the attribute. The possible values are defined in DTDConstants.
a_modifier - The modifier of this attribute. The possible values are defined in DTDConstants.
a_default - The default value of this attribute
allowed_values - The explicit set of the allowed values of this attribute
a_next - The value of the subsequent instance of the AttributeList, representing the next attribute definition for the same element. Equals to null for the last attribute definition.

Method Details

getModifier

public int getModifier()
Get the modifier of this attribute. This field contains one of the following DTD constants:
  • REQUIRED if the attribute value is always required,
  • IMPLIED if the user agent must supply the default value itself,
  • FIXED if the attribute value is fixed to some value and cannot be changed.
  • DEFAULT if the attribute default value has been supplied.
  • CURRENT the value that at any point in the document is the last value supplied for that element. A value is required to be supplied for the first* occurrence of an element
  • CONREF specifies the IDREF value of the reference to content in another location of the document. The element with this attribute is empty, the content from that another location must be used instead.

getName

public String getName()
Get the name of the attribute. The value is returned as it was supplied to a constructor, preserving the character case.

getNext

public AttributeList getNext()
Get the value of ( = pointer to ) the next attribute in the linked list, storing all attributes of some Element. Contains null for the last attribute.

getType

public int getType()
Get the type of the attribute. The possible values of this field (NUMBER, NAME, ID, CDATA and so on) are defined in DTDConstants.

getValue

public String getValue()
Get the default value of this attribute.

getValues

public Enumeration getValues()
Get the allowed values of this attribute.

name2type

public static int name2type(String typeName)
Converts a string value, representing a valid SGLM attribute type, into the corresponding value, defined in DTDConstants.
Parameters:
typeName - the name of the type (character case is ignored).
Returns:
a value from DTDConstants or DTDConstants.ANY if the string is not representing a known type. The known attribute types in this implementation are CDATA, ENTITY, ENTITIES, ID, IDREF, IDREFS, NAME, NAMES, NMTOKEN, NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN and NUTOKENS.
Throws:
NullPointerException - if the passed parameter is null.

toString

public String toString()
Returns the attribute name.
Overrides:
toString in interface Object

type2name

public static String type2name(int type)
Converts a value from DTDConstants into the string representation.
Parameters:
type - - an integer value of the public static integer field, defined in the DTDConstants class.
Returns:
a corresponding SGML DTD keyword (UPPERCASE) or null if there are no attribute type constant having the given value.

AttributeList.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.