org.cassandraunit.shaded.org.codehaus.jackson.map.jsontype.NamedType Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cassandra-unit-shaded Show documentation
Show all versions of cassandra-unit-shaded Show documentation
Shaded version of cassandra-unit
package org.codehaus.jackson.map.jsontype;
/**
* Simple container class for types with optional logical name, used
* as external identifier
*
* @author tatu
* @since 1.5
*/
public final class NamedType
{
protected final Class _class;
protected final int _hashCode;
protected String _name;
public NamedType(Class c) { this(c, null); }
public NamedType(Class c, String name)
{
_class = c;
_hashCode = c.getName().hashCode();
setName(name);
}
public Class getType() { return _class; }
public String getName() { return _name; }
public void setName(String name) {
_name = (name == null || name.length() == 0) ? null : name;
}
public boolean hasName() { return _name != null; }
/**
* Equality is defined based on class only, not on name
*/
@Override
public boolean equals(Object o)
{
if (o == this) return true;
if (o == null) return false;
if (o.getClass() != getClass()) return false;
return _class == ((NamedType) o)._class;
}
@Override
public int hashCode() { return _hashCode; }
@Override
public String toString() {
return "[NamedType, class "+_class.getName()+", name: "+(_name == null ? "null" :("'"+_name+"'"))+"]";
}
}