package com.ripple.core.coretypes.hash; import com.ripple.core.fields.Field; import com.ripple.core.fields.Hash128Field; import com.ripple.core.fields.Type; import com.ripple.core.serialized.BytesSink; public class Hash128 extends Hash<Hash128> { public Hash128(byte[] bytes) { super(bytes, 16); } @Override public Object toJSON() { return translate.toJSON(this); } @Override public byte[] toBytes() { return translate.toBytes(this); } @Override public String toHex() { return translate.toHex(this); } @Override public void toBytesSink(BytesSink to) { translate.toBytesSink(this, to); } @Override public Type type() { return Type.Hash128; } public static class Translator extends HashTranslator<Hash128> { @Override public Hash128 newInstance(byte[] b) { return new Hash128(b); } @Override public int byteWidth() { return 16; } } public static Translator translate = new Translator(); public static Hash128Field hash128Field(final Field f) { return new Hash128Field(){ @Override public Field getField() {return f;}}; } static public Hash128Field EmailHash = hash128Field(Field.EmailHash); }