blob: 583f0dcecce5caad22388f2dc5986335c2ae9360 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 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
*/
}