public class AttributesImpl extends Object implements Attributes
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
该类提供了SAX2 Attributes
接口的默认实现,添加了操纵器,以便可以修改或重用列表。
这个类有两个典型的用法:
startElement
事件中持有属性对象的快照; 要么 这个类代替了现在已经弃用的SAX1 AttributeListImpl
类; 除了支持更新的Attributes界面,而不是不推荐使用的AttributeList
接口,它还包括使用单个数组而不是一组向量更有效的实现。
Constructor and Description |
---|
AttributesImpl()
构造一个新的空的AttributesImpl对象。
|
AttributesImpl(Attributes atts)
复制现有的Attributes对象。
|
Modifier and Type | Method and Description |
---|---|
void |
addAttribute(String uri, String localName, String qName, String type, String value)
将属性添加到列表的末尾。
|
void |
clear()
清除属性列表以供重用。
|
int |
getIndex(String qName)
通过合格(前缀)名称查找属性的索引。
|
int |
getIndex(String uri, String localName)
通过命名空间名称查找属性的索引。
|
int |
getLength()
返回列表中的属性数。
|
String |
getLocalName(int index)
返回属性的本地名称。
|
String |
getQName(int index)
返回属性的合格(前缀)名称。
|
String |
getType(int index)
通过索引返回属性的类型。
|
String |
getType(String qName)
通过合格(前缀)名称查找属性的类型。
|
String |
getType(String uri, String localName)
通过Namespace限定名称查找属性的类型。
|
String |
getURI(int index)
返回一个属性的Namespace URI。
|
String |
getValue(int index)
通过索引返回属性的值。
|
String |
getValue(String qName)
通过合格(前缀)名称查找属性的值。
|
String |
getValue(String uri, String localName)
通过Namespace限定名查找属性的值。
|
void |
removeAttribute(int index)
从列表中删除一个属性。
|
void |
setAttribute(int index, String uri, String localName, String qName, String type, String value)
在列表中设置一个属性。
|
void |
setAttributes(Attributes atts)
复制整个Attributes对象。
|
void |
setLocalName(int index, String localName)
设置特定属性的本地名称。
|
void |
setQName(int index, String qName)
设置特定属性的限定名称。
|
void |
setType(int index, String type)
设置特定属性的类型。
|
void |
setURI(int index, String uri)
设置特定属性的命名空间URI。
|
void |
setValue(int index, String value)
设置特定属性的值。
|
public AttributesImpl()
public AttributesImpl(Attributes atts)
这个构造函数在startElement
事件中特别有用。
atts
- 现有的属性对象。
public int getLength()
getLength
在接口
Attributes
Attributes.getLength()
public String getURI(int index)
getURI
在接口
Attributes
index
- 属性的索引(从零开始)。
Attributes.getURI(int)
public String getLocalName(int index)
getLocalName
在界面
Attributes
index
- 属性的索引(从零开始)。
Attributes.getLocalName(int)
public String getQName(int index)
getQName
在界面
Attributes
index
- 属性的索引(从零开始)。
Attributes.getQName(int)
public String getType(int index)
getType
在界面
Attributes
index
- 属性的索引(从零开始)。
Attributes.getType(int)
public String getValue(int index)
getValue
在接口
Attributes
index
- 属性的索引(从零开始)。
Attributes.getValue(int)
public int getIndex(String uri, String localName)
在许多情况下,查找名称一次更有效,并使用索引查询方法,而不是重复使用名称查询方法。
getIndex
在界面
Attributes
uri
- 属性的Namespace URI,如果没有可用,则为空字符串。
localName
- 属性的本地名称。
Attributes.getIndex(java.lang.String,java.lang.String)
public int getIndex(String qName)
getIndex
在接口
Attributes
qName
- 限定名称。
Attributes.getIndex(java.lang.String)
public String getType(String uri, String localName)
getType
在界面
Attributes
uri
- 名称空间URI,或没有显式命名空间URI的名称的空字符串。
localName
- 本地名称。
Attributes.getType(java.lang.String,java.lang.String)
public String getType(String qName)
getType
在接口
Attributes
qName
- 限定名称。
Attributes.getType(java.lang.String)
public String getValue(String uri, String localName)
getValue
在接口
Attributes
uri
- 命名空间URI,或没有显式命名空间URI的名称的空字符串。
localName
- 本地名称。
Attributes.getValue(java.lang.String,java.lang.String)
public String getValue(String qName)
getValue
在界面
Attributes
qName
- 限定名称。
Attributes.getValue(java.lang.String)
public void clear()
请注意,此调用释放了少量内存:保留当前数组,以便可以重复使用。
public void setAttributes(Attributes atts)
重用现有对象可能会更有效,而不是不断分配新对象。
atts
- 要复制的属性。
public void addAttribute(String uri, String localName, String qName, String type, String value)
为了速度起见,此方法不会检查属性是否已经在列表中:这是应用程序的责任。
uri
- 命名空间URI,或空字符串,如果没有可用或命名空间处理未被执行。
localName
- 如果未执行命名空间处理,
localName
本地名称或空字符串。
qName
- 合格(前缀)名称,如果限定名称不可用,则为空字符串。
type
- 属性类型为字符串。
value
- 属性值。
public void setAttribute(int index, String uri, String localName, String qName, String type, String value)
为了速度起见,这种方法不会检查名称冲突或形式良好:这种检查是应用程序的责任。
index
-
index
的索引(从零开始)。
uri
- 命名空间URI,或空字符串(如果没有可用)或命名空间处理未被执行。
localName
- 如果未执行命名空间处理,
localName
本地名称或空字符串。
qName
- 限定名称,如果限定名称不可用,则为空字符串。
type
- 属性类型为字符串。
value
- 属性值。
ArrayIndexOutOfBoundsException
- 当提供的索引未指向列表中的属性时。
public void removeAttribute(int index)
index
-
index
的索引(从零开始)。
ArrayIndexOutOfBoundsException
- 当提供的索引未指向列表中的属性时。
public void setURI(int index, String uri)
index
-
index
的索引(从零开始)。
uri
- 属性的命名空间URI,或无空字符串。
ArrayIndexOutOfBoundsException
- 当提供的索引未指向列表中的属性时。
public void setLocalName(int index, String localName)
index
-
index
的索引(从零开始)。
localName
- 属性的本地名称,或无空字符串。
ArrayIndexOutOfBoundsException
- 当提供的索引未指向列表中的属性时。
public void setQName(int index, String qName)
index
-
index
的索引(从零开始)。
qName
- 属性的限定名,或无空的字符串。
ArrayIndexOutOfBoundsException
- 当提供的索引未指向列表中的属性时。
public void setType(int index, String type)
index
-
index
的索引(从零开始)。
type
- 属性的类型。
ArrayIndexOutOfBoundsException
- 当提供的索引未指向列表中的属性时。
public void setValue(int index, String value)
index
-
index
的索引(从零开始)。
value
- 属性的值。
ArrayIndexOutOfBoundsException
- When the supplied index does not point to an attribute in the list.