All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.castled.forms.dtos.FormFieldProps Maven / Gradle / Ivy

There is a newer version: 1.0.0
Show newest version
package io.castled.forms.dtos;

import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.castled.forms.FormFieldType;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@JsonTypeInfo(
        use = JsonTypeInfo.Id.NAME,
        include = JsonTypeInfo.As.EXISTING_PROPERTY,
        visible = true,
        property = "type")
@JsonSubTypes({
        @JsonSubTypes.Type(value = TextBoxProps.class, name = "TEXT_BOX"),
        @JsonSubTypes.Type(value = DropDownProps.class, name = "DROP_DOWN"),
        @JsonSubTypes.Type(value = MappingProps.class, name = "MAPPING"),
        @JsonSubTypes.Type(value = HiddenProps.class, name = "HIDDEN"),
        @JsonSubTypes.Type(value = JsonFileProps.class, name = "JSON_FILE"),
        @JsonSubTypes.Type(value = TextFileProps.class, name = "TEXT_FILE"),
        @JsonSubTypes.Type(value = RadioGroupProps.class, name = "RADIO_GROUP")})
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public abstract class FormFieldProps {
    private FormFieldType type;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy