/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.schema.tools.model.schema.impl; import org.teiid.designer.schema.tools.model.schema.QName; /** * @since 8.0 */ public class QNameImpl implements QName { public String namespace; public String lname; public QNameImpl( String namespace, String lname ) { this.namespace = namespace; this.lname = lname; int namespaceHash = namespace == null ? 0 : namespace.hashCode(); int lnameHash = lname == null ? 0 : lname.hashCode(); hashCode = 17; hashCode = 37 * hashCode + namespaceHash; hashCode = 37 * hashCode + lnameHash; } /** * @See org.teiid.designer.schema.tools.model.QName#equals(java.lang.Object) */ @Override public boolean equals( Object o ) { if (!(o instanceof QName)) { return false; } QNameImpl other = (QNameImpl)o; if (namespace == null && other.namespace != null) { return false; } if (namespace != null && other.namespace == null) { return false; } if (namespace != null && !(namespace.equals(other.namespace))) { return false; } if (lname == null && other.lname != null) { return false; } if (lname != null && other.lname == null) { return false; } if (lname != null && !(lname.equals(other.lname))) { return false; } return true; } int hashCode; /** * @See org.teiid.designer.schema.tools.model.QName#hashCode() */ @Override public int hashCode() { return hashCode; } /** * @See org.teiid.designer.schema.tools.model.QName#toString() */ @Override public String toString() { if (namespace == null) return lname + "(global)"; //$NON-NLS-1$ return namespace + "#" + lname; //$NON-NLS-1$ } @Override public String getNamespace() { return namespace; } @Override public void setNamespace( String namespace ) { this.namespace = namespace; } @Override public String getLName() { return lname; } }