package org.leumasjaffe.charsheet.entity.viewable; import org.leumasjaffe.charsheet.observer.Observable; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NonNull; import lombok.experimental.Accessors; @Accessors(fluent=true) @Data @EqualsAndHashCode(callSuper=false) public class ObjectValue extends Observable { @JsonCreator public ObjectValue(T v) { this.value = v; } private @NonNull T value; public String toString() { return value.toString(); } @JsonValue T getSerializable() { return value; } }