## org.jdom.filter
Class ContentFilter

    java.lang.Object
      |
      +--org.jdom.filter.ContentFilter

public class ContentFilter
extends java.lang.Object
implements Filter

`ContentFilter` is a general purpose `Filter` representing all legal JDOM objects and allows the ability to set and unset the visiblity of these objects. Filtering is accomplished by way of a filtering mask in which each bit represents whether a JDOM object is visible or not.

For example to view all Text and CDATA nodes in the content of element x.

          Filter filter = new ContentFilter(ContentFilter.TEXT |
                                            ContentFilter.CDATA);
          List content = x.getContent(filter);

For those who don't like bit-masking, set methods are provided as an alternative. For example to allow everything except Comment nodes.

          Filter filter =  new ContentFilter();
          filter.setCommentVisible(false);
          List content = x.getContent(filter);

The default is to allow all valid JDOM objects.

Version:
  $Revision: 1.1 $, $Date: 2002/03/12 07:00:50 $
Author:
  Bradley S. Huffman

Field Summary
`static int` `CDATA` Mask for JDOM `CDATA` objects
`static int` `COMMENT` Mask for JDOM `Comment` objects
`static int` `DOCUMENT` Mask for JDOM `Document` object
`static int` `ELEMENT` Mask for JDOM `Element` objects
`static int` `ENTITYREF` Mask for JDOM `EnitityRef` objects
`protected int` `filterMask` The JDOM object mask
`static int` `PI` Mask for JDOM `ProcessingInstruction` objects
`static int` `TEXT` Mask for JDOM `Text` objects

Constructor Summary
`ContentFilter()` Default constructor that allows any legal JDOM objects.
`ContentFilter(boolean allVisible)` Set whether all JDOM objects are visible or not.
`ContentFilter(int mask)` Filter out JDOM objects according to a filtering mask.

Method Summary
`boolean` `canAdd(java.lang.Object obj)` Check to see if the object can be added to the list.
`boolean` `canRemove(java.lang.Object obj)` Check to see if the object can be removed from the list.
`boolean` `equals(java.lang.Object obj)` Returns true if object is instance of ContentFilter and has the same filtering mask as this one.
`int` `getFilterMask()` Return current filtering mask.
`boolean` `matches(java.lang.Object obj)` Check to see if the object matches according to the filter mask.
`void` `setCDATAVisible(boolean visible)` Set visiblity of `CDATA` objects.
`void` `setCommentVisible(boolean visible)` Set visiblity of `Comment` objects.
`void` `setDefaultMask()` Set this filter to allow all legal JDOM objects.
`void` `setDocumentContent()` Set filter to match only JDOM objects that are legal document content.
`void` `setElementContent()` Set filter to match only JDOM objects that are legal element content.
`void` `setElementVisible(boolean visible)` Set visiblity of `Element` objects.
`void` `setEntityRefVisible(boolean visible)` Set visiblity of `EntityRef` objects.
`void` `setFilterMask(int mask)` Set filtering mask.
`void` `setPIVisible(boolean visible)` Set visiblity of `ProcessingInstruction` objects.
`void` `setTextVisible(boolean visible)` Set visiblity of `Text` objects.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ELEMENT

    public static final int ELEMENT

  Mask for JDOM `Element` objects

### CDATA

    public static final int CDATA

  Mask for JDOM `CDATA` objects

### TEXT

    public static final int TEXT

  Mask for JDOM `Text` objects

### COMMENT

    public static final int COMMENT

  Mask for JDOM `Comment` objects

### PI

    public static final int PI

  Mask for JDOM `ProcessingInstruction` objects

### ENTITYREF

    public static final int ENTITYREF

  Mask for JDOM `EnitityRef` objects

### DOCUMENT

    public static final int DOCUMENT

  Mask for JDOM `Document` object

### filterMask

    protected int filterMask

  The JDOM object mask

Constructor Detail

### ContentFilter

    public ContentFilter()

  Default constructor that allows any legal JDOM objects.

### ContentFilter

    public ContentFilter(boolean allVisible)

  Set whether all JDOM objects are visible or not.

  Parameters:
    `allVisible` - `true` all JDOM objects are visible, `false` all JDOM objects are hidden.

### ContentFilter

    public ContentFilter(int mask)

  Filter out JDOM objects according to a filtering mask.

  Parameters:
    `mask` - Mask of JDOM objects to allow.

Method Detail

### getFilterMask

    public int getFilterMask()

  Return current filtering mask.

### setFilterMask

    public void setFilterMask(int mask)

  Set filtering mask.

### setDefaultMask

    public void setDefaultMask()

  Set this filter to allow all legal JDOM objects.

### setDocumentContent

    public void setDocumentContent()

  Set filter to match only JDOM objects that are legal document content.

### setElementContent

    public void setElementContent()

  Set filter to match only JDOM objects that are legal element content.

### setElementVisible

    public void setElementVisible(boolean visible)

  Set visiblity of `Element` objects.

  Parameters:
    `visible` - whether Elements are visible, `true` if yes, `false` if not

### setCDATAVisible

    public void setCDATAVisible(boolean visible)

  Set visiblity of `CDATA` objects.

  Parameters:
    `visible` - whether CDATA nodes are visible, `true` if yes, `false` if not

### setTextVisible

    public void setTextVisible(boolean visible)

  Set visiblity of `Text` objects.

  Parameters:
    `visible` - whether Text nodes are visible, `true` if yes, `false` if not

### setCommentVisible

    public void setCommentVisible(boolean visible)

  Set visiblity of `Comment` objects.

  Parameters:
    `visible` - whether Comments are visible, `true` if yes, `false` if not

### setPIVisible

    public void setPIVisible(boolean visible)

  Set visiblity of `ProcessingInstruction` objects.

  Parameters:
    `visible` - whether ProcessingInstructions are visible, `true` if yes, `false` if not

### setEntityRefVisible

    public void setEntityRefVisible(boolean visible)

  Set visiblity of `EntityRef` objects.

  Parameters:
    `visible` - whether EntityRefs are visible, `true` if yes, `false` if not

### canAdd

    public boolean canAdd(java.lang.Object obj)

  Check to see if the object can be added to the list.

  Specified by:
    canAdd in interface Filter
  Parameters:
    `obj` - The object to verify.
  Returns:
    `true` if the object can be added.

### canRemove

    public boolean canRemove(java.lang.Object obj)

  Check to see if the object can be removed from the list.

  Specified by:
    canRemove in interface Filter
  Parameters:
    `obj` - The object to verify.
  Returns:
    `true` if the object can be removed.

### matches

    public boolean matches(java.lang.Object obj)

  Check to see if the object matches according to the filter mask.

  Specified by:
    matches in interface Filter
  Parameters:
    `obj` - The object to verify.
  Returns:
    `true` if the objected matched a predfined set of rules.

### equals

    public boolean equals(java.lang.Object obj)

  Returns true if object is instance of ContentFilter and has the same filtering mask as this one.

  Overrides:
    equals in class java.lang.Object
  Returns:
    `true` if the Filters are equal

Copyright © 2002 Jason Hunter, Brett McLaughlin. All Rights Reserved.