Class ContentFilter

All Implemented Interfaces:
Serializable, Filter<Content>

public class ContentFilter extends AbstractFilter<Content>
A general purpose Filter able to represent all legal JDOM objects or a specific subset. 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.

Author:
Bradley S. Huffman
See Also:
  • Field Details

  • Constructor Details

    • 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 Details

    • getFilterMask

      public int getFilterMask()
      Return current filtering mask.
      Returns:
      the current filtering mask
    • setFilterMask

      public void setFilterMask(int mask)
      Set filtering mask.
      Parameters:
      mask - the new 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 visibility of Element objects.
      Parameters:
      visible - whether Elements are visible, true if yes, false if not
    • setCDATAVisible

      public void setCDATAVisible(boolean visible)
      Set visibility of CDATA objects.
      Parameters:
      visible - whether CDATA nodes are visible, true if yes, false if not
    • setTextVisible

      public void setTextVisible(boolean visible)
      Set visibility of Text objects.
      Parameters:
      visible - whether Text nodes are visible, true if yes, false if not
    • setCommentVisible

      public void setCommentVisible(boolean visible)
      Set visibility of Comment objects.
      Parameters:
      visible - whether Comments are visible, true if yes, false if not
    • setPIVisible

      public void setPIVisible(boolean visible)
      Set visibility of ProcessingInstruction objects.
      Parameters:
      visible - whether ProcessingInstructions are visible, true if yes, false if not
    • setEntityRefVisible

      public void setEntityRefVisible(boolean visible)
      Set visibility of EntityRef objects.
      Parameters:
      visible - whether EntityRefs are visible, true if yes, false if not
    • setDocTypeVisible

      public void setDocTypeVisible(boolean visible)
      Set visibility of DocType objects.
      Parameters:
      visible - whether the DocType is visible, true if yes, false if not
    • filter

      public Content filter(Object obj)
      Check to see if the object matches according to the filter mask.
      Parameters:
      obj - The object to verify.
      Returns:
      true if the objected matched a predfined set of rules.
    • equals

      public boolean equals(Object obj)
      Returns whether the two filters are equivalent (i.e. the matching mask values are identical).
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare against
      Returns:
      whether the two filters are equal
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object