blob: df92046f2a9d05e4baf2d67a06099fc7d9d51351 [file] [log] [blame]
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.axis2.databinding.types;
/**
* Custom class for supporting XSD data type NOTATION.
*
* @see <a href="http://www.w3.org/TR/xmlschema-1/#element-notation">XML Schema Part 1: 3.12 Notation Declarations</a>
*/
public class Notation implements java.io.Serializable {
private static final long serialVersionUID = 2393074651972192536L;
NCName name;
URI publicURI;
URI systemURI;
public Notation() {
}
public Notation(NCName name, URI publicURI, URI systemURI) {
this.name = name;
this.publicURI = publicURI;
this.systemURI = systemURI;
}
public NCName getName() {
return name;
}
public void setName(NCName name) {
this.name = name;
}
public URI getPublic() {
return publicURI;
}
public void setPublic(URI publicURI) {
this.publicURI = publicURI;
}
public URI getSystem() {
return systemURI;
}
public void setSystem(URI systemURI) {
this.systemURI = systemURI;
}
public boolean equals(Object obj) {
if (obj == null || !(obj instanceof Notation))
return false;
Notation other = (Notation) obj;
if (name == null) {
if (other.name != null) {
return false;
}
} else if (!name.equals(other.name)) {
return false;
}
if (publicURI == null) {
if (other.publicURI != null) {
return false;
}
} else if (!publicURI.equals(other.publicURI)) {
return false;
}
if (systemURI == null) {
if (other.systemURI != null) {
return false;
}
} else if (!systemURI.equals(other.systemURI)) {
return false;
}
return true;
}
/**
* Returns the sum of the hashcodes of {name,publicURI,systemURI}
* for whichever properties in that set is non null. This is
* consistent with the implementation of equals, as required by
* {@link java.lang.Object#hashCode() Object.hashCode}.
*
* @return an <code>int</code> value
*/
public int hashCode() {
int hash = 0;
if (null != name) {
hash += name.hashCode();
}
if (null != publicURI) {
hash += publicURI.hashCode();
}
if (null != systemURI) {
hash += systemURI.hashCode();
}
return hash;
}
/**
* Note - A lot of code that depended on certain descriptions has been deleted from this class
*/
}