@Override public int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(attributeName()); hashCode = 31 * hashCode + Objects.hashCode(keyTypeAsString()); return hashCode; }
/** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public String toString() { return ToString.builder("KeySchemaElement").add("AttributeName", attributeName()).add("KeyType", keyTypeAsString()) .build(); }
public <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) { switch (fieldName) { case "AttributeName": return Optional.ofNullable(clazz.cast(attributeName())); case "KeyType": return Optional.ofNullable(clazz.cast(keyTypeAsString())); default: return Optional.empty(); } }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof KeySchemaElement)) { return false; } KeySchemaElement other = (KeySchemaElement) obj; return Objects.equals(attributeName(), other.attributeName()) && Objects.equals(keyTypeAsString(), other.keyTypeAsString()); }