package org.embulk.spi.type;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
public abstract class AbstractType
implements Type
{
private final String name;
private final Class<?> javaType;
private byte fixedStorageSize;
protected AbstractType(String name, Class<?> javaType, int fixedStorageSize)
{
this.name = name;
this.javaType = javaType;
this.fixedStorageSize = (byte) fixedStorageSize;
}
@Override
public String getName()
{
return name;
}
@Override
public Class<?> getJavaType()
{
return javaType;
}
@Override
public byte getFixedStorageSize()
{
return fixedStorageSize;
}
@SuppressFBWarnings(value = "EQ_UNUSUAL")
@Override
public boolean equals(Object o)
{
if (o == null) {
return false;
}
return o.getClass().isAssignableFrom(getClass());
}
@Override
public int hashCode()
{
return getClass().hashCode();
}
@Override
public String toString()
{
return name;
}
}