package nl.ipo.cds.admin.ba.controller.beans.mapping; import org.codehaus.jackson.annotate.JsonSubTypes; import org.codehaus.jackson.annotate.JsonSubTypes.Type; import org.codehaus.jackson.annotate.JsonTypeInfo; import org.codehaus.jackson.annotate.JsonTypeInfo.As; import org.codehaus.jackson.annotate.JsonTypeInfo.Id; import org.codehaus.jackson.map.annotate.JsonSerialize; import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion; @JsonTypeInfo ( use = Id.NAME, include = As.PROPERTY, property = "type" ) @JsonSubTypes ({ @Type (value = TransformOperation.class, name = "operation"), @Type (value = InputAttribute.class, name = "input"), @Type (value = ConditionOperation.class, name = "condition") }) @JsonSerialize (include = Inclusion.ALWAYS) public abstract class Operation { private String name; public String getName () { return name; } public void setName (final String name) { this.name = name; } }