com.topologi.diffx.event.impl
Class CloseElementEventImpl

java.lang.Object
  extended by com.topologi.diffx.event.impl.CloseElementEventImpl
All Implemented Interfaces:
CloseElementEvent, DiffXEvent, XMLFormattable, XMLWritable

public final class CloseElementEventImpl
extends Object
implements CloseElementEvent

A basic implementation of the close element event.

It corresponds to the endElement SAX event.

This implementation is not namespace aware.

Version:
17 May 2005
Author:
Christophe Lauret

Constructor Summary
CloseElementEventImpl(OpenElementEvent event)
          Creates a new close element event that corresponds to the given open element.
CloseElementEventImpl(String name)
          Creates a new close element event.
 
Method Summary
 boolean equals(DiffXEvent e)
          Returns true if the event is a close element and has the same name.
 boolean equals(Object o)
          Invokes the DiffXEvent.equals(DiffXEvent) method if the specified object if not null and is an instance of DiffXEvent.
 String getName()
          Returns the local name of the element.
 OpenElementEvent getOpenElement()
          Returns the corresponding event element.
 String getURI()
          Always return the empty URI.
 int getWeight()
          Returns the weight of this event.
 int hashCode()
          
 boolean match(OpenElementEvent event)
          Returns true if the open element has the same name.
 void setWeight(int weight)
          Sets the weight of this event.
 String toString()
           
 String toXML()
          Returns a xml representation of the object of the implementing class.
 StringBuffer toXML(StringBuffer xml)
          Appends the XML representation of the object of the implementing class.
 void toXML(XMLWriter xml)
          Writes the XML representation of the implementing instance using the specified XMLWriter.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.topologi.diffx.event.DiffXEvent
getWeight, setWeight
 
Methods inherited from interface com.topologi.diffx.xml.XMLFormattable
toXML
 

Constructor Detail

CloseElementEventImpl

public CloseElementEventImpl(String name)
                      throws NullPointerException
Creates a new close element event.

Parameters:
name - The local name of the element
Throws:
NullPointerException - If the name is null.

CloseElementEventImpl

public CloseElementEventImpl(OpenElementEvent event)
                      throws NullPointerException
Creates a new close element event that corresponds to the given open element.

Parameters:
event - The corresponding open element.
Throws:
NullPointerException - If the name is null.
Method Detail

getName

public String getName()
Description copied from interface: CloseElementEvent
Returns the local name of the element.

Specified by:
getName in interface CloseElementEvent
Returns:
Returns the name.

getURI

public String getURI()
Always return the empty URI.

Specified by:
getURI in interface CloseElementEvent
Returns:
Returns the uri.
See Also:
XMLConstants.NULL_NS_URI

getOpenElement

public OpenElementEvent getOpenElement()
Description copied from interface: CloseElementEvent
Returns the corresponding event element.

Specified by:
getOpenElement in interface CloseElementEvent
Returns:
The corresponding event element.

match

public boolean match(OpenElementEvent event)
Returns true if the open element has the same name. Indicates whether the specified open element event matches this close element event.

This method first checks whether the open element event is the same as event returned by the CloseElementEvent.getOpenElement() method, if not it simply compares the name of the element and the namespace URI it belongs to.

Specified by:
match in interface CloseElementEvent
Parameters:
event - The open element event to test.
Returns:
true if there is a match; false otherwise.

hashCode

public int hashCode()


equals

public boolean equals(DiffXEvent e)
Returns true if the event is a close element and has the same name.

Specified by:
equals in interface DiffXEvent
Parameters:
e - The event to compare with this event.
Returns:
true if this event is equal to the specified event; false otherwise.

toString

public String toString()
Overrides:
toString in class Object

toXML

public void toXML(XMLWriter xml)
           throws IOException
Description copied from interface: XMLWritable
Writes the XML representation of the implementing instance using the specified XMLWriter.

Specified by:
toXML in interface XMLWritable
Parameters:
xml - The XMLWriter to use.
Throws:
IOException - IF an I/O exception occurs whilst writing.

toXML

public StringBuffer toXML(StringBuffer xml)
                   throws NullPointerException
Description copied from interface: XMLFormattable
Appends the XML representation of the object of the implementing class.

Implementations must ensure that the returned string buffer is the same object as the specified string buffer.

Specified by:
toXML in interface XMLFormattable
Parameters:
xml - The string buffer to which the XML representation is appended to.
Returns:
The modified string buffer.
Throws:
NullPointerException - if the specified character sequence is null.

equals

public final boolean equals(Object o)
Invokes the DiffXEvent.equals(DiffXEvent) method if the specified object if not null and is an instance of DiffXEvent.

Overrides:
equals in class Object
Parameters:
o - The object to compare.
Returns:
true if the specified object is equal; false otherwise.

toXML

public String toXML()
Description copied from interface: XMLFormattable

Returns a xml representation of the object of the implementing class.

Most implementation should use the following code to ensure consistent data with the other toXML method:

return this.toXML(new StringBuffer()).toString();

Specified by:
toXML in interface XMLFormattable
Returns:
a XML representation of the object of the implementing class.

getWeight

public int getWeight()
Description copied from interface: DiffXEvent
Returns the weight of this event.

The default weight should be 1.

Specified by:
getWeight in interface DiffXEvent
Returns:
The weight of this event.

setWeight

public void setWeight(int weight)
Description copied from interface: DiffXEvent
Sets the weight of this event.

This method is intended for use by algorithms, optimisers and loaders in order to adjust the importance of an event.

Specified by:
setWeight in interface DiffXEvent
Parameters:
weight - The weight of this event.