JDOM
2.0.5

org.jdom2.input.stax
Interface StAXFilter

All Known Implementing Classes:
DefaultStAXFilter

public interface StAXFilter

In StAX Processing it is possible to read fragments of XML. JDOM supports reading JDOM Content from StAX Readers in fragments. JDOM users can influence the content that is processed by the return values in this interface.

Using the StAXStreamBuilder or StAXEventBuilder you can parse a List of JDOM content by filtering that content with an instance of this filter.

There are two significant states in which methods in this interface will be called:

Author:
Rolf Lear

Method Summary
 java.lang.String includeCDATA(int depth, java.lang.String text)
          The current event is a CDATA event.
 java.lang.String includeComment(int depth, java.lang.String comment)
          The current event is a Comment event.
 boolean includeDocType()
          The current event is a DocType event.
 boolean includeElement(int depth, java.lang.String name, Namespace ns)
          The current event is an Element event.
 boolean includeEntityRef(int depth, java.lang.String name)
          The current event is an EntityRef event.
 boolean includeProcessingInstruction(int depth, java.lang.String target)
          The current event is a ProcessingInstruction event.
 java.lang.String includeText(int depth, java.lang.String text)
          The current event is a TEXT event.
 java.lang.String pruneCDATA(int depth, java.lang.String text)
          An Element is being included, and this is a child CDATA event of the included parent Element.
 java.lang.String pruneComment(int depth, java.lang.String comment)
          An Element is being included, and this is a child Comment event of the included parent Element.
 boolean pruneElement(int depth, java.lang.String name, Namespace ns)
          An Element is being included, and this is a child Element event of the included parent Element.
 boolean pruneEntityRef(int depth, java.lang.String name)
          An Element is being included, and this is a child EntityRef event of the included parent Element.
 boolean pruneProcessingInstruction(int depth, java.lang.String target)
          An Element is being included, and this is a child ProcessingInstruction event of the included parent Element.
 java.lang.String pruneText(int depth, java.lang.String text)
          An Element is being included, and this is a child Text event of the included parent Element.
 

Method Detail

includeDocType

boolean includeDocType()
The current event is a DocType event.

Returns:
true if the DocType should become a JDOM Fragment.

includeElement

boolean includeElement(int depth,
                       java.lang.String name,
                       Namespace ns)
The current event is an Element event.

If the return value of this call is true, then this Element will be processed as a JDOM fragment. You may then get calls to the prune* methods to determine whether child content of this Element should be pruned.

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
name - The XML tag name of this Element
ns - The Namespace of this Element
Returns:
true if the Element should become a JDOM Fragment.

includeComment

java.lang.String includeComment(int depth,
                                java.lang.String comment)
The current event is a Comment event.

A null return value will cause the Comment to be ignored, and a non-null return value will become the Comment's text.

To include the comment as-is, do:

 public String includeComment(int depth, String comment) {
     return comment;
 }
 

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
comment - The Comment value
Returns:
null if you want to exclude this comment, or a non-null value which will become the new comment value.

includeEntityRef

boolean includeEntityRef(int depth,
                         java.lang.String name)
The current event is an EntityRef event.

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
name - The EntityRef name
Returns:
true if you want to include this EntityRef.

includeCDATA

java.lang.String includeCDATA(int depth,
                              java.lang.String text)
The current event is a CDATA event.

A null return value will cause the Comment to be ignored, and a non-null return value will become the CDATA's text.

To include the CDATA as-is, do:

 public String includeCDATA(int depth, String text) {
     return text;
 }
 

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
text - The CDATA text value
Returns:
null if you want to exclude this CDATA, or a non-null value which will become the new CDATA text value.

includeText

java.lang.String includeText(int depth,
                             java.lang.String text)
The current event is a TEXT event.

A null return value will cause the Comment to be ignored, and a non-null return value will become the Text's text.

To include the Text as-is, do:

 public String includeText(int depth, String text) {
     return text;
 }
 

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
text - The Text value
Returns:
null if you want to exclude this Text, or a non-null value which will become the new Text value.

includeProcessingInstruction

boolean includeProcessingInstruction(int depth,
                                     java.lang.String target)
The current event is a ProcessingInstruction event.

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
target - The ProcessingInstruction Target value
Returns:
true if you want to include this ProcessingInstruction.

pruneElement

boolean pruneElement(int depth,
                     java.lang.String name,
                     Namespace ns)
An Element is being included, and this is a child Element event of the included parent Element. Should this Child Element be pruned from the parent fragment?

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
name - The XML tag name of this child Element
ns - The Namespace of this child Element
Returns:
true if the child Element should be excluded.

pruneComment

java.lang.String pruneComment(int depth,
                              java.lang.String comment)
An Element is being included, and this is a child Comment event of the included parent Element. Should this child Comment be pruned from the parent fragment?

A non-null return value will become the Comment value. Return null to skip the Comment.

To include the Comment as-is, do:

 public String pruneComment(int depth, String comment) {
     return comment;
 }
 

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
comment - The Comment value
Returns:
null if you want to exclude this Comment, or a non-null value which will become the new Comment value.

pruneEntityRef

boolean pruneEntityRef(int depth,
                       java.lang.String name)
An Element is being included, and this is a child EntityRef event of the included parent Element. Should this child EntityRef be pruned from the parent fragment?

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
name - The EntityRef name
Returns:
true if you want to exclude this EntityRef.

pruneCDATA

java.lang.String pruneCDATA(int depth,
                            java.lang.String text)
An Element is being included, and this is a child CDATA event of the included parent Element. Should this child CDATA be pruned from the parent fragment?

A non-null return value will become the CDATA text. Return null to skip the CDATA.

To include the CDATA as-is, do:

 public String pruneCDATA(int depth, String text) {
     return text;
 }
 

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
text - The CDATA text value
Returns:
null if you want to exclude this CDATA, or a non-null value which will become the new CDATA text value.

pruneText

java.lang.String pruneText(int depth,
                           java.lang.String text)
An Element is being included, and this is a child Text event of the included parent Element. Should this child Text be pruned from the parent fragment?

A non-null return value will become the Text. Return null to skip the Text.

To include the Text as-is, do:

 public String pruneText(int depth, String text) {
     return text;
 }
 

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
text - The Text value
Returns:
null if you want to exclude this Text, or a non-null value which will become the new Text value.

pruneProcessingInstruction

boolean pruneProcessingInstruction(int depth,
                                   java.lang.String target)
An Element is being included, and this is a child ProcessingInstruction event of the included parent Element. Should this ProcessingInstruction be pruned from the parent fragment?

Parameters:
depth - The depth of this content from the document root (the root Element is at depth 0)
target - The ProcessingInstruction Target value
Returns:
true if you want to exclude this ProcessingInstruction.

JDOM
2.0.5

Copyright 2013 Jason Hunter, Brett McLaughlin. All Rights Reserved.