java.lang.Object
javax.swing.text.AbstractDocument.AbstractElement
- All Implemented Interfaces:
Serializable
,AttributeSet
,Element
,MutableAttributeSet
,TreeNode
- Direct Known Subclasses:
AbstractDocument.BranchElement
,AbstractDocument.LeafElement
- Enclosing class:
- AbstractDocument
public abstract class AbstractDocument.AbstractElement extends Object implements Element, MutableAttributeSet, Serializable, TreeNode
Implements the abstract part of an element. By default elements
support attributes by having a field that represents the immutable
part of the current attribute set for the element. The element itself
implements MutableAttributeSet which can be used to modify the set
by fetching a new immutable set. The immutable sets are provided
by the AttributeContext associated with the document.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeans™
has been added to the java.beans
package.
Please see XMLEncoder
.
-
Nested Class Summary
Nested classes/interfaces declared in interface javax.swing.text.AttributeSet
AttributeSet.CharacterAttribute, AttributeSet.ColorAttribute, AttributeSet.FontAttribute, AttributeSet.ParagraphAttribute
-
Field Summary
Fields declared in interface javax.swing.text.AttributeSet
NameAttribute, ResolveAttribute
-
Constructor Summary
Constructors Constructor Description AbstractElement(Element parent, AttributeSet a)
Creates a new AbstractElement. -
Method Summary
Modifier and Type Method Description void
addAttribute(Object name, Object value)
Adds an attribute to the element.void
addAttributes(AttributeSet attr)
Adds a set of attributes to the element.abstract Enumeration<TreeNode>
children()
Returns the children of the receiver as anEnumeration
.boolean
containsAttribute(Object name, Object value)
Checks whether a given attribute name/value is defined.boolean
containsAttributes(AttributeSet attrs)
Checks whether the element contains all the attributes.AttributeSet
copyAttributes()
Copies a set of attributes.void
dump(PrintStream psOut, int indentAmount)
Dumps a debugging representation of the element hierarchy.abstract boolean
getAllowsChildren()
Returns true if the receiver allows children.Object
getAttribute(Object attrName)
Gets the value of an attribute.int
getAttributeCount()
Gets the number of attributes that are defined.Enumeration<?>
getAttributeNames()
Gets the names of all attributes.AttributeSet
getAttributes()
Gets the attributes for the element.TreeNode
getChildAt(int childIndex)
Returns the childTreeNode
at indexchildIndex
.int
getChildCount()
Returns the number of childrenTreeNode
's receiver contains.Document
getDocument()
Retrieves the underlying model.abstract Element
getElement(int index)
Gets a child element.abstract int
getElementCount()
Gets the number of children for the element.abstract int
getElementIndex(int offset)
Gets the child element index closest to the given model offset.abstract int
getEndOffset()
Gets the ending offset in the model for the element.int
getIndex(TreeNode node)
Returns the index ofnode
in the receivers children.String
getName()
Gets the name of the element.TreeNode
getParent()
Returns the parentTreeNode
of the receiver.Element
getParentElement()
Gets the parent of the element.AttributeSet
getResolveParent()
Gets the resolving parent.abstract int
getStartOffset()
Gets the starting offset in the model for the element.boolean
isDefined(Object attrName)
Checks whether a given attribute is defined.boolean
isEqual(AttributeSet attr)
Checks whether two attribute sets are equal.abstract boolean
isLeaf()
Checks whether the element is a leaf.void
removeAttribute(Object name)
Removes an attribute from the set.void
removeAttributes(Enumeration<?> names)
Removes a set of attributes for the element.void
removeAttributes(AttributeSet attrs)
Removes a set of attributes for the element.void
setResolveParent(AttributeSet parent)
Sets the resolving parent.
-
Constructor Details
-
AbstractElement
Creates a new AbstractElement.- Parameters:
parent
- the parent elementa
- the attributes for the element- Since:
- 1.4
-
-
Method Details
-
dump
Dumps a debugging representation of the element hierarchy.- Parameters:
psOut
- the output streamindentAmount
- the indentation level >= 0
-
getAttributeCount
public int getAttributeCount()Gets the number of attributes that are defined.- Specified by:
getAttributeCount
in interfaceAttributeSet
- Returns:
- the number of attributes >= 0
- See Also:
AttributeSet.getAttributeCount()
-
isDefined
Checks whether a given attribute is defined.- Specified by:
isDefined
in interfaceAttributeSet
- Parameters:
attrName
- the non-null attribute name- Returns:
- true if the attribute is defined
- See Also:
AttributeSet.isDefined(java.lang.Object)
-
isEqual
Checks whether two attribute sets are equal.- Specified by:
isEqual
in interfaceAttributeSet
- Parameters:
attr
- the attribute set to check against- Returns:
- true if the same
- See Also:
AttributeSet.isEqual(javax.swing.text.AttributeSet)
-
copyAttributes
Copies a set of attributes.- Specified by:
copyAttributes
in interfaceAttributeSet
- Returns:
- the copy
- See Also:
AttributeSet.copyAttributes()
-
getAttribute
Gets the value of an attribute.- Specified by:
getAttribute
in interfaceAttributeSet
- Parameters:
attrName
- the non-null attribute name- Returns:
- the attribute value
- See Also:
AttributeSet.getAttribute(java.lang.Object)
-
getAttributeNames
Gets the names of all attributes.- Specified by:
getAttributeNames
in interfaceAttributeSet
- Returns:
- the attribute names as an enumeration
- See Also:
AttributeSet.getAttributeNames()
-
containsAttribute
Checks whether a given attribute name/value is defined.- Specified by:
containsAttribute
in interfaceAttributeSet
- Parameters:
name
- the non-null attribute namevalue
- the attribute value- Returns:
- true if the name/value is defined
- See Also:
AttributeSet.containsAttribute(java.lang.Object, java.lang.Object)
-
containsAttributes
Checks whether the element contains all the attributes.- Specified by:
containsAttributes
in interfaceAttributeSet
- Parameters:
attrs
- the attributes to check- Returns:
- true if the element contains all the attributes
- See Also:
AttributeSet.containsAttributes(javax.swing.text.AttributeSet)
-
getResolveParent
Gets the resolving parent. If not overridden, the resolving parent defaults to the parent element.- Specified by:
getResolveParent
in interfaceAttributeSet
- Returns:
- the attributes from the parent,
null
if none - See Also:
AttributeSet.getResolveParent()
-
addAttribute
Adds an attribute to the element.- Specified by:
addAttribute
in interfaceMutableAttributeSet
- Parameters:
name
- the non-null attribute namevalue
- the attribute value- See Also:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)
-
addAttributes
Adds a set of attributes to the element.- Specified by:
addAttributes
in interfaceMutableAttributeSet
- Parameters:
attr
- the attributes to add- See Also:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)
-
removeAttribute
Removes an attribute from the set.- Specified by:
removeAttribute
in interfaceMutableAttributeSet
- Parameters:
name
- the non-null attribute name- See Also:
MutableAttributeSet.removeAttribute(java.lang.Object)
-
removeAttributes
Removes a set of attributes for the element.- Specified by:
removeAttributes
in interfaceMutableAttributeSet
- Parameters:
names
- the attribute names- See Also:
MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)
-
removeAttributes
Removes a set of attributes for the element.- Specified by:
removeAttributes
in interfaceMutableAttributeSet
- Parameters:
attrs
- the attributes- See Also:
MutableAttributeSet.removeAttributes(java.util.Enumeration<?>)
-
setResolveParent
Sets the resolving parent.- Specified by:
setResolveParent
in interfaceMutableAttributeSet
- Parameters:
parent
- the parent, null if none- See Also:
MutableAttributeSet.setResolveParent(javax.swing.text.AttributeSet)
-
getDocument
Retrieves the underlying model.- Specified by:
getDocument
in interfaceElement
- Returns:
- the model
-
getParentElement
Gets the parent of the element.- Specified by:
getParentElement
in interfaceElement
- Returns:
- the parent
-
getAttributes
Gets the attributes for the element.- Specified by:
getAttributes
in interfaceElement
- Returns:
- the attribute set
-
getName
Gets the name of the element. -
getStartOffset
public abstract int getStartOffset()Gets the starting offset in the model for the element.- Specified by:
getStartOffset
in interfaceElement
- Returns:
- the offset >= 0
- See Also:
Document
,AbstractDocument
-
getEndOffset
public abstract int getEndOffset()Gets the ending offset in the model for the element.- Specified by:
getEndOffset
in interfaceElement
- Returns:
- the offset >= 0
- See Also:
Document
,AbstractDocument
-
getElement
Gets a child element.- Specified by:
getElement
in interfaceElement
- Parameters:
index
- the child index, >= 0 && < getElementCount()- Returns:
- the child element
-
getElementCount
public abstract int getElementCount()Gets the number of children for the element.- Specified by:
getElementCount
in interfaceElement
- Returns:
- the number of children >= 0
-
getElementIndex
public abstract int getElementIndex(int offset)Gets the child element index closest to the given model offset.- Specified by:
getElementIndex
in interfaceElement
- Parameters:
offset
- the offset >= 0- Returns:
- the element index >= 0
-
isLeaf
public abstract boolean isLeaf()Checks whether the element is a leaf. -
getChildAt
Returns the childTreeNode
at indexchildIndex
.- Specified by:
getChildAt
in interfaceTreeNode
- Parameters:
childIndex
- index of child- Returns:
- the child node at given index
-
getChildCount
public int getChildCount()Returns the number of childrenTreeNode
's receiver contains.- Specified by:
getChildCount
in interfaceTreeNode
- Returns:
- the number of children
TreeNodews
's receiver contains
-
getParent
Returns the parentTreeNode
of the receiver. -
getIndex
Returns the index ofnode
in the receivers children. If the receiver does not containnode
, -1 will be returned. -
getAllowsChildren
public abstract boolean getAllowsChildren()Returns true if the receiver allows children.- Specified by:
getAllowsChildren
in interfaceTreeNode
- Returns:
- true if the receiver allows children, otherwise false
-
children
Returns the children of the receiver as anEnumeration
.
-