@Override public UnitParameterSensitivities build() { return new UnitParameterSensitivities( sensitivities); }
/** * Obtains an instance from a single sensitivity entry. * * @param sensitivity the sensitivity entry * @return the sensitivities instance */ public static UnitParameterSensitivities of(UnitParameterSensitivity sensitivity) { return new UnitParameterSensitivities(ImmutableList.of(sensitivity)); }
/** * Combines this parameter sensitivities with another instance. * <p> * This returns a new sensitivity instance with the specified sensitivity added. * This instance is immutable and unaffected by this method. * The result may contain duplicate parameter sensitivities. * * @param other the other parameter sensitivity * @return an instance based on this one, with the other instance added */ public UnitParameterSensitivities combinedWith(UnitParameterSensitivity other) { List<UnitParameterSensitivity> mutable = new ArrayList<>(sensitivities); insert(mutable, other); return new UnitParameterSensitivities(ImmutableList.copyOf(mutable)); }
/** * Combines this parameter sensitivities with another instance. * <p> * This returns a new sensitivity instance with a combined list of parameter sensitivities. * This instance is immutable and unaffected by this method. * The result may contain duplicate parameter sensitivities. * * @param other the other parameter sensitivities * @return an instance based on this one, with the other instance added */ public UnitParameterSensitivities combinedWith(UnitParameterSensitivities other) { List<UnitParameterSensitivity> mutable = new ArrayList<>(sensitivities); for (UnitParameterSensitivity otherSens : other.sensitivities) { insert(mutable, otherSens); } return new UnitParameterSensitivities(ImmutableList.copyOf(mutable)); }
/** * Obtains an instance from a list of sensitivity entries. * <p> * The order of sensitivities is typically unimportant, however it is retained * and exposed in {@link #equals(Object)}. * * @param sensitivities the list of sensitivity entries * @return the sensitivities instance */ public static UnitParameterSensitivities of(List<? extends UnitParameterSensitivity> sensitivities) { List<UnitParameterSensitivity> mutable = new ArrayList<>(); for (UnitParameterSensitivity otherSens : sensitivities) { insert(mutable, otherSens); } return new UnitParameterSensitivities(ImmutableList.copyOf(mutable)); }