package geniusweb.inform; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; /** * base class of all information sent to a Party */ @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT) @JsonSubTypes({ @JsonSubTypes.Type(value = ActionDone.class), @JsonSubTypes.Type(value = Inform.class), @JsonSubTypes.Type(value = Settings.class), @JsonSubTypes.Type(value = Finished.class), @JsonSubTypes.Type(value = YourTurn.class), @JsonSubTypes.Type(value = Voting.class), @JsonSubTypes.Type(value = OptIn.class), @JsonSubTypes.Type(value = OptInWithValue.class) }) @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) public interface Inform { }