本文整理汇总了Java中com.sun.org.apache.xml.internal.utils.StringBufferPool类的典型用法代码示例。如果您正苦于以下问题:Java StringBufferPool类的具体用法?Java StringBufferPool怎么用?Java StringBufferPool使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
StringBufferPool类属于com.sun.org.apache.xml.internal.utils包,在下文中一共展示了StringBufferPool类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isWhitespace
import com.sun.org.apache.xml.internal.utils.StringBufferPool; //导入依赖的package包/类
/**
* Determine if the string-value of a node is whitespace
*
* @param nodeHandle The node Handle.
*
* @return Return true if the given node is whitespace.
*/
public boolean isWhitespace(int nodeHandle)
{
int type = getNodeType(nodeHandle);
Node node = getNode(nodeHandle);
if(TEXT_NODE == type || CDATA_SECTION_NODE == type)
{
// If this is a DTM text node, it may be made of multiple DOM text
// nodes -- including navigating into Entity References. DOM2DTM
// records the first node in the sequence and requires that we
// pick up the others when we retrieve the DTM node's value.
//
// %REVIEW% DOM Level 3 is expected to add a "whole text"
// retrieval method which performs this function for us.
FastStringBuffer buf = StringBufferPool.get();
while(node!=null)
{
buf.append(node.getNodeValue());
node=logicalNextDOMTextNode(node);
}
boolean b = buf.isWhitespace(0, buf.length());
StringBufferPool.free(buf);
return b;
}
return false;
}
示例2: getNodeValue
import com.sun.org.apache.xml.internal.utils.StringBufferPool; //导入依赖的package包/类
/**
* Given a node handle, return its node value. This is mostly
* as defined by the DOM, but may ignore some conveniences.
* <p>
*
* @param nodeHandle The node id.
* @return String Value of this node, or null if not
* meaningful for this node type.
*/
public String getNodeValue(int nodeHandle)
{
// The _type(nodeHandle) call was taking the lion's share of our
// time, and was wrong anyway since it wasn't coverting handle to
// identity. Inlined it.
int type = _exptype(makeNodeIdentity(nodeHandle));
type=(NULL != type) ? getNodeType(nodeHandle) : NULL;
if(TEXT_NODE!=type && CDATA_SECTION_NODE!=type)
return getNode(nodeHandle).getNodeValue();
// If this is a DTM text node, it may be made of multiple DOM text
// nodes -- including navigating into Entity References. DOM2DTM
// records the first node in the sequence and requires that we
// pick up the others when we retrieve the DTM node's value.
//
// %REVIEW% DOM Level 3 is expected to add a "whole text"
// retrieval method which performs this function for us.
Node node = getNode(nodeHandle);
Node n=logicalNextDOMTextNode(node);
if(n==null)
return node.getNodeValue();
FastStringBuffer buf = StringBufferPool.get();
buf.append(node.getNodeValue());
while(n!=null)
{
buf.append(n.getNodeValue());
n=logicalNextDOMTextNode(n);
}
String s = (buf.length() > 0) ? buf.toString() : "";
StringBufferPool.free(buf);
return s;
}