package tudelft.healthpsychology.traumaontologies.answerstate; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonSubTypes.Type; import com.fasterxml.jackson.annotation.JsonTypeInfo; import tudelft.healthpsychology.traumaontologies.owltree.OwlProperty; import tudelft.healthpsychology.traumaontologies.questiontypes.TypedQuestion; /** * Atrributes of an {@link OntologyNode}. Each property node contains a question * and the type of answer to be gotten from this question. * *

* Property must be json-serializable (contain json annotations) because some * {@link AnswerState}s (that need to be serialized) contain this. */ @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT) @JsonSubTypes({ @Type(value = OwlProperty.class) }) public interface Property { /** * @return the AnswerType contained in this property: the question and the * expected type of answer. */ TypedQuestion getQuestionType(); }