javanet.staxutils.helpers
Class EventMatcher

java.lang.Object
  extended by javanet.staxutils.helpers.EventMatcher

public final class EventMatcher
extends java.lang.Object

Provides utility methods useful for comparing two XMLEvent instances. These methods compare only location/type-independent information, and thus don't perform strict equality testing, which would include the event's location, schema-type and dtd-type.

Version:
$Revision: 1.2 $
Author:
Christian Niles

Method Summary
static boolean eventsMatch(Attribute a, Attribute b)
          Compares two Attributes, returning true if their names and values are the same.
static boolean eventsMatch(Characters a, Characters b)
          Compares two Characterss.
static boolean eventsMatch(Comment a, Comment b)
          Compares two Comments.
static boolean eventsMatch(DTD a, DTD b)
          Compares two DTDs.
static boolean eventsMatch(EndDocument a, EndDocument b)
          Compares two EndDocuments.
static boolean eventsMatch(EndElement a, EndElement b)
          Compares two EndElements.
static boolean eventsMatch(EntityDeclaration a, EntityDeclaration b)
          Compares two EntityDeclarations.
static boolean eventsMatch(EntityReference a, EntityReference b)
          Compares two EntityReferences.
static boolean eventsMatch(Namespace a, Namespace b)
          Compares two Namespaces.
static boolean eventsMatch(NotationDeclaration a, NotationDeclaration b)
          Compares two NotationDeclarations.
static boolean eventsMatch(ProcessingInstruction a, ProcessingInstruction b)
          Compares two ProcessingInstructions.
static boolean eventsMatch(StartDocument a, StartDocument b)
          Compares two StartDocuments.
static boolean eventsMatch(StartElement a, StartElement b)
          Compares two StartElements.
static boolean eventsMatch(XMLEvent a, XMLEvent b)
          Compares two XMLEvent instances.
static boolean matchAttributes(java.util.Iterator a, java.util.Iterator b)
          Iterates over two sets of Attributes and determines if both contain matching attributes.
static boolean matchNamespaces(java.util.Iterator a, java.util.Iterator b)
          Iterates over two sets of Namespaces and determines if both contain matching namespaces.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

eventsMatch

public static boolean eventsMatch(XMLEvent a,
                                  XMLEvent b)
Compares two XMLEvent instances. This method delegates actual matching to the appropriate overloaded method.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(Attribute a,
                                  Attribute b)
Compares two Attributes, returning true if their names and values are the same.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(Characters a,
                                  Characters b)
Compares two Characterss. This method will return true only if they have the same event type (XMLStreamConstants.CHARACTERS, XMLStreamConstants.CDATA, or XMLStreamConstants.SPACE), and their text content matches.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(Comment a,
                                  Comment b)
Compares two Comments. This method will return true only if their text content matches.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(DTD a,
                                  DTD b)
Compares two DTDs. This method will return true only if their declarations are identical.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(EndDocument a,
                                  EndDocument b)
Compares two EndDocuments. Because EndDocument events have no real state, two instances always match.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(EndElement a,
                                  EndElement b)
Compares two EndElements. This method will return true only if their names match.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(EntityDeclaration a,
                                  EntityDeclaration b)
Compares two EntityDeclarations. This method will return true only if the two events' names, replacement text, public IDs, system IDs, and notations are the same.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(EntityReference a,
                                  EntityReference b)
Compares two EntityReferences. This method will return true only if the two references have the same name, and their declarations also match.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(Namespace a,
                                  Namespace b)
Compares two Namespaces. This method will return true only if the two namespaces have identical prefixes and namespace URIs.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(NotationDeclaration a,
                                  NotationDeclaration b)
Compares two NotationDeclarations. This method will return true only if the two namespaces have identical names, public IDs, and system IDs.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(ProcessingInstruction a,
                                  ProcessingInstruction b)
Compares two ProcessingInstructions. This method will return true only if the two events have identical targets and data.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(StartDocument a,
                                  StartDocument b)
Compares two StartDocuments. This method will return true only if the two events have identical encodings, versions, and have the same standalone setting.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

eventsMatch

public static boolean eventsMatch(StartElement a,
                                  StartElement b)
Compares two StartElements. This method will return true only if the two events have identical names, attributes, and namespaces.

Parameters:
a - The first event.
b - The second event.
Returns:
true if the events match, false otherwise.

matchAttributes

public static boolean matchAttributes(java.util.Iterator a,
                                      java.util.Iterator b)
Iterates over two sets of Attributes and determines if both contain matching attributes.

Parameters:
a - The first set of Attributes.
b - The second set of Attributes.
Returns:
true if the two iterators iterate over matching attributes, false otherwise.

matchNamespaces

public static boolean matchNamespaces(java.util.Iterator a,
                                      java.util.Iterator b)
Iterates over two sets of Namespaces and determines if both contain matching namespaces.

Parameters:
a - The first set of Namespaces.
b - The second set of Namespaces.
Returns:
true if the two iterators iterate over matching namespaces, false otherwise.