clone method

Argument<T> clone()

Implementation

Argument<T> clone() {
  Argument<T> arg;
  switch (getType()) {
    case ArgumentType.BOOL:
      {
        arg = new BoolArgument(name: name) as Argument<T>;
        break;
      }
    case ArgumentType.STRING:
      {
        arg = new StringArgument(name: name, value: getValue() as String)
            as Argument<T>;
        break;
      }
    case ArgumentType.INTEGER:
      {
        arg = new IntegerArgument(name: name, value: getValue() as int)
            as Argument<T>;
        break;
      }
    case ArgumentType.DOUBLE:
      {
        arg = new DoubleArgument(name: name, value: getValue() as double)
            as Argument<T>;
        break;
      }
  }

  return arg;
}