Search code examples
apacheisis

How do you do to do the same but for many parameters, like for example name, lastname, date of birth, etc (only class parameters) in apache isis?


I´m trying to get the default values of a class so as to update that class. I achieved it for one single parameter, but I couldn´t do so for more than one parameter at the same time. What do I have to do in that case?

Example with single attribute:

@action(...)
public Modelo UpdateNombre(

    @Parameter(...)
    @ParameterLayout(...)
    final String nombre){

    setNombre(nombre);
    return this;

}

public String defaul0UpdateNombre() {return getNombre();}

Example with multiple attribute:

@action(...)
public Modelo UpdateModelo(

    @Parameter(...)
    @ParameterLayout(...)
    final String nombre,

    @Parameter(...)
    @ParameterLayout(...)
    final int cantidad,

    @Parameter(...)
    @ParameterLayout(...)
    final boolean baja){

    setNombre(nombre);
    setCantidad(cantidad);
    setBaja(baja);
    return this;

}

public Modelo defaul0UpdateModelo() {

    Modelo modelo;
    modelo.nombre = getNombre();
    modelo.cantidad = getCantidad();
    modelo.baja = getBaja();

    return modelo;

}

Solution

  • The syntax is default{N}Xxx() were N=0,1,2

    Therefore:

    @Action(...)
    public Modelo updateModelo(
    
        @Parameter(...)
        @ParameterLayout(...)
        final String nombre,
    
        @Parameter(...)
        @ParameterLayout(...)
        final int cantidad,
    
        @Parameter(...)
        @ParameterLayout(...)
        final boolean baja){
    
        setNombre(nombre);
        setCantidad(cantidad);
        setBaja(baja);
        return this;
    
    }
    
    public Modelo default0UpdateModelo() {
    
        Modelo modelo;
        modelo.nombre = getNombre();
        modelo.cantidad = getCantidad();
        modelo.baja = getBaja();
    
        return modelo;
    
    }