Skip to content

@SubParameter Problems #486

@antonio-rodriges

Description

@antonio-rodriges

There are at least 2 problems with @SubParameter

  1. It can set only public fields of a class
  2. It does not convert data types

Example code:

public class TuneOptions {
    @Parameter(names = "--tune", arity = 4, required = true)
    private TuneVariable tuneVariable;

     public static class TuneVariable {
        @SubParameter(order = 0)
        public String variableName;

        @SubParameter(order = 1)
        public double min;

        @SubParameter(order = 2)
        public double max;

        @SubParameter(order = 3)
        public double step;
  }
}

In the above code:

  1. variableName, min, max, step have to be public (otherwise there is an exception) which is not good and is different from usual jCommander behavior
  2. Parameters like --tune L 0 1 0.01 yield exception as 0 is treated as string and is not converted to double

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions