Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * This file is part of the DiffX library.
   *
   * For licensing information please see the file license.txt included in the release.
   * A copy of this licence can also be found at
   *   http://www.opensource.org/licenses/artistic-license-2.0.php
   */
  package com.topologi.diffx.event.impl;
  
 
A namespace aware implementation of the attribute event.

Author(s):
Christophe Lauret
Jean-Baptiste Reure
Version:
28 March 2010
 
 public final class AttributeEventNSImpl extends DiffXEventBase implements AttributeEvent {

  
The namespace URI this attribute belongs to.
 
   private final String uri;

  
The name of the attribute.
 
   private final String name;

  
The value of the attribute.
 
   private final String value;

  
A suitable hashcode value.
 
   private final int hashCode;

  
Creates a new attribute event.

Parameters:
name The local name of the attribute.
value The value of the attribute.
Throws:
java.lang.NullPointerException if any of the argument is null.
 
   public AttributeEventNSImpl(String nameString valuethrows NullPointerException {
     if (name == null)
       throw new NullPointerException("Attribute must have a name.");
     if (value == null)
       throw new NullPointerException("The attribute value cannot be null, use \"\".");
     this. = name;
     this. = value;
     this. = null;
     this. = toHashCode(this.namevalue);
   }

  
Creates a new attribute event.

Parameters:
uri The uri of the attribute.
name The local name of the attribute.
value The value of the attribute.
Throws:
java.lang.NullPointerException if any of the argument is null.
 
   public AttributeEventNSImpl(String uriString nameString valuethrows NullPointerException {
     if (name == null)
       throw new NullPointerException("Attribute must have a name.");
     if (value == null)
       throw new NullPointerException("The attribute value cannot be null, use \"\".");
     this. = name;
     this. = value;
     this. = uri;
     this. = toHashCode(urinamevalue);
   }

  
 
   @Override
   public String getName() {
     return this.;
   }

  
 
   @Override
   public String getURI() {
     return this.;
   }

  
  public String getValue() {
    return this.;
  }

  
  public int hashCode() {
    return this.;
  }

  
Returns true if the event is an attribute event.

Parameters:
e The event to compare with this event.
Returns:
true if this event is equal to the specified event; false otherwise.
  public boolean equals(DiffXEvent e) {
    if (e.getClass() != this.getClass())
      return false;
    if (!ae.name.equals(this.))
      return false;
    if (!equals(ae.urithis.))
      return false;
    if (!ae.value.equals(this.))
      return false;
    return true;
  }

  
  public String toString() {
    return "attribute: " + this. + "=" + this. + " [" + this. + "]";
  }

  
  public void toXML(XMLWriter xmlthrows IOException {
    xml.attribute(this.this.this.);
  }

  
    // FIXME: no support for NS????
    xml.append(' ');
    xml.append(this.);
    xml.append("=\"");
    xml.append(.toAttributeValue(this.));
    xml.append('"');
    return xml;
  }

  
Returns true if both namespace URI are null or equal.

Parameters:
uri1 The first namespace URI.
uri2 The second namespace URI.
Returns:
true if both null or equal; false otherwise.
  private static boolean equals(String uri1String uri2) {
    if (uri1 == null && uri2 == null)
      return true;
    if (uri1 == null || uri2 == null)
      return false;
    return uri1.equals(uri2);
  }

  
Calculates the hashcode for this event.

Parameters:
uri The URI.
name The attribute name.
value The attribute value.
Returns:
a number suitable as a hashcode.
  private static int toHashCode(String uriString nameString value) {
    int hash = 17;
    hash = hash * 31 + (uri != null ? uri.hashCode() : 0);
    hash = hash * 31 + (name != null ? name.hashCode() : 0);
    hash = hash * 31 + (value != null ? value.hashCode() : 0);
    return hash;
  }
New to GrepCode? Check out our FAQ X