FieldOverride.java

package info.textgrid.services.textapi;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

/**
 * Represents a field override configuration.
 * Defines how a field should be modified.
 */
@JsonPropertyOrder({
    "field",
    "type",
    "value",
    "pattern",
    "replacement"
})
@JsonInclude(JsonInclude.Include.NON_NULL)
public class FieldOverride {

    private String field;
    private String type;
    private Object value;
    private String pattern;
    private String replacement;

    /**
     * The field name to apply the override to.
     */
    public String getField() {
        return field;
    }

    public void setField(String field) {
        this.field = field;
    }

    /**
     * The type of override: "override", "append", or "pattern".
     */
    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    /**
     * The value to use for override or append operations.
     */
    public Object getValue() {
        return value;
    }

    public void setValue(Object value) {
        this.value = value;
    }

    /**
     * The regex pattern to use for pattern type overrides.
     */
    public String getPattern() {
        return pattern;
    }

    public void setPattern(String pattern) {
        this.pattern = pattern;
    }

    /**
     * The replacement string for pattern type overrides.
     */
    public String getReplacement() {
        return replacement;
    }

    public void setReplacement(String replacement) {
        this.replacement = replacement;
    }
}