/** * Convenience method for getting an attributes map builder */ protected AttributesMap.Builder attributes() { return AttributesMap.newBuilder(); }
/** * Convenience method for getting an identity builder given a seed */ protected IdentityBuilder identity(int seed) { return IdentityBuilder.seed(seed); }
public IdentityMetadata(String typeName, Class<? extends Identity> identityType, Class<? extends IdentityDto> dtoType, Class<? extends Mapper> mapperType) { this.typeName = typeName; this.identityType = identityType; this.dtoType = dtoType; this.mapperType = mapperType; this.attributes = Identity.getSupportedAttributes(identityType); }
@Attributes({"test"}) private static class TestIdentity extends Identity { private final String name; public TestIdentity(String name) { this.name = name; } @Override public long computeHash(int seed, Set<String> hashAttributes, AttributesMap attributes) { return identity(seed) .putString(name) .hash(); } @Override public AttributesMap computeAttributes() { return attributes().put("test", true).build(); } }
public Long getNumber(String name) { return getValue(name, Long.class, null); }
public IdentityBuilder putFloat(Float value) { if (value == null) { putNull(); } else { hasher.putFloat(value); } return this; }
public static IdentityBuilder seed(int seed) { return new IdentityBuilder(seed); }
public static Builder newBuilder() { return new Builder(); }
public Boolean getBoolean(String name) { return getValue(name, Boolean.class, null); }
public IdentityBuilder putInt(Integer value) { if (value == null) { putNull(); } else { hasher.putInt(value); } return this; }
public String getString(String name) { return getValue(name, String.class, null); }
public IdentityBuilder putLong(Long value) { if (value == null) { putNull(); } else { hasher.putLong(value); } return this; }
public Long getNumber(String name, long defaultValue) { return getValue(name, Long.class, defaultValue); }
public IdentityBuilder putString(CharSequence value) { if (value == null) { putNull(); } else { hasher.putString(value, CHARSET); } return this; }
public Boolean getBoolean(String name, boolean defaultValue) { return getValue(name, Boolean.class, defaultValue); }
public String getString(String name, String defaultValue) { return getValue(name, String.class, defaultValue); }