/** * Creates an immutable copy of a {@link RandomNumberVariable} value. * Uses accessors to get values to initialize the new immutable instance. * If an instance is already immutable, it is returned as is. * @param instance The instance to copy * @return A copied immutable RandomNumberVariable instance */ public static ImmutableRandomNumberVariable copyOf(RandomNumberVariable instance) { if (instance instanceof ImmutableRandomNumberVariable) { return (ImmutableRandomNumberVariable) instance; } return ImmutableRandomNumberVariable.builder() .from(instance) .build(); }
private void parseRandomParameter(Wini.Section paramSection, String paramName) { Variable.VariablePolicy pol = getPolicy(MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get("GenerateNewVal")), paramName); RandomNumberVariable variable = ImmutableRandomNumberVariable.builder().name(paramName).minValue( Integer.parseInt(MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get("MinValue")))).maxValue( Integer.parseInt(MethodUtils.normalizeString(leftBrace, rightBrace, paramSection.get("MaxValue")))).scope( VariableScope.LOCAL).policy(pol).build(); variables.put(paramName, variable); }