patrón de diseño para almacenar un valor "absoluto xor incremental"

En una entrada de datos de la aplicación, permito que el usuario inserte un valor numérico que puede representar dos cosas diferentes:

  1. un valor absoluto, digamos 5, lo que significa que a una propiedad P se le debe asignar el valor 5
  2. un valor relativo, digamos +5, lo que significa que la propiedad P debe incrementarse en 5

Mi pregunta es: ¿qué estructura de datos utilizo para almacenar esta información? Pongo algunas alternativas. Mi idea va con la tercera idea, pero me pregunto si el patrón es "correcto".

1) Aquí se asigna el xor absoluto del incremento, el otro queda nulo. No muy satisfactorio

class DoubleFieldBased {
    Integer absolute;
    Integer increment; 
} 

2) Aquí la "magnitud" del valor se guarda en "valor", mientras que el "incremento" booleano indica si el valor es absoluto o relativo. Aún menos satisfactorio.

class FieldAndBoolean {
    Integer value;
    boolean increment;
}

3) Aquí muevo el foco al método applyValue, que usa polimorfismo y hace lo correcto en función de la información implícita de qué clase "soy yo". Satisfactorio pero un poco complejo, y sospecho que el patrón no es perfecto.

public static abstract class AbstractValue {
    int myvalue;
    public AbstractValue (int myvalue) {this.myvalue = myvalue;}
    public abstract int applyValue (int value);
}

public static class Absolute extends AbstractValue {
    public Absolute (int myvalue) {super(myvalue);}
    public int applyValue (int value) {
        return value;
    }
}

public static class Incremental extends AbstractValue {
    public Incremental (int myvalue) {super(myvalue);}
    public int applyValue(int value) {
        return myvalue + value;
    }
}
Respuesta 1

Estoy haciendo un complemento maven para iniciar, detener y borrar una base de datos. Estoy usando hsqldb para ello. Tengo una clase (llamada ServerStart) para iniciar la base de datos: import java.io.File; import java.sql.Connection; ...

Tengo 2 aplicaciones implementadas en tomcat, quiero usarlas en los archivos de recursos de un proyecto ubicados en la carpeta WEBINF de otros proyectos. ¿Puedo tener acceso a otro proyecto como este? en mi proyecto AI quiere ...

La clase Java expone algún método getStuff (); a través de ahorro a un cliente php para que todos los usuarios interactúen con archivos .php que se conectan a Java a través de ahorro ... ¿todavía necesito tomcat / glassfish, etc. o el jdk ...

Estoy tratando de construir el embarcadero 6.1.26 desde la fuente usando Maven, estoy ejecutando el comando "mvn" para construirlo, sin embargo, al final del proceso de construcción obtengo un error de construcción de terracota. La salida está en: ...