final ParameterValue pv = (ParameterValue) pd.createValue(); pv.setValue(value);
/** * Forwards the call to the {@linkplain MatrixParameterDescriptors matrix parameter descriptors} * specified at construction time. */ public ParameterValueGroup createValue() { return (ParameterValueGroup) descriptor.createValue(); }
/** * Constructs a parameter group from the specified descriptor. All {@linkplain #values parameter * values} will be initialized to their default value. * * @param descriptor The descriptor for this group. */ public ParameterGroup(final ParameterDescriptorGroup descriptor) { super(descriptor); final List<GeneralParameterDescriptor> parameters = descriptor.descriptors(); values = new ArrayList<GeneralParameterValue>(parameters.size()); for (final GeneralParameterDescriptor element : parameters) { for (int count = element.getMinimumOccurs(); --count >= 0; ) { final GeneralParameterValue value = element.createValue(); ensureNonNull("createValue", value); values.add(value); } } }
if (descriptor instanceof ParameterDescriptorGroup) { final ParameterValueGroup groups = (ParameterValueGroup) descriptor.createValue(); copy((ParameterValueGroup) value, groups); values.groups(name).add(groups);
/** * Returns the parameter value at the given index. If the parameter at the given index is a * mandatory parameter pending creation of the actual value, the value will be created now. */ @Override public GeneralParameterValue get(int index) { ArgumentChecks.ensureValidIndex(size, index); GeneralParameterValue value = values[index]; if (value instanceof UninitializedParameter) { values[index] = value = value.getDescriptor().createValue(); } return value; }
/** * Returns the parameter value at the given index. If the parameter at the given index is a * mandatory parameter pending creation of the actual value, the value will be created now. */ @Override public GeneralParameterValue get(int index) { ArgumentChecks.ensureValidIndex(size, index); GeneralParameterValue value = values[index]; if (value instanceof UninitializedParameter) { values[index] = value = value.getDescriptor().createValue(); } return value; }
/** * Constructs a parameter group from the specified descriptor. * All {@linkplain #values parameter values} will be initialized * to their default value. * * @param descriptor The descriptor for this group. */ public ParameterGroup(final ParameterDescriptorGroup descriptor) { super(descriptor); final List<GeneralParameterDescriptor> parameters = descriptor.descriptors(); values = new ArrayList<>(parameters.size()); for (final GeneralParameterDescriptor element : parameters) { for (int count=element.getMinimumOccurs(); --count>=0;) { final GeneralParameterValue value = element.createValue(); ensureNonNull("createValue", value); values.add(value); } } }
final GeneralParameterValue value = values.getDescriptor().descriptor(name).createValue(); values.values().add(value); return value;
final GeneralParameterValue value = values.getDescriptor().descriptor(name).createValue(); values.values().add(value); return value;
/** * Tests {@link DefaultParameterValueGroup#parameter(String)}. */ @Test public void testParameter() { final List<GeneralParameterDescriptor> descriptors = descriptor.descriptors(); final GeneralParameterValue[] expected = { descriptors.get(0).createValue(), descriptors.get(1).createValue(), descriptors.get(2).createValue(), descriptors.get(3).createValue() }; final DefaultParameterValueGroup group = new DefaultParameterValueGroup(descriptor); assertEquals("parameter(“Mandatory 1”)", expected[0], group.parameter("Mandatory 1")); assertEquals("parameter(“Mandatory 2”)", expected[1], group.parameter("Mandatory 2")); assertEquals("parameter(“Optional 3”)", expected[2], group.parameter("Optional 3")); assertEquals("parameter(“Optional 4”)", expected[3], group.parameter("Optional 4")); assertEquals("parameter(“Alias 2”)", expected[1], group.parameter("Alias 2")); assertEquals("parameter(“Alias 3”)", expected[2], group.parameter("Alias 3")); }
/** * Tests {@code DefaultParameterValueGroup.values().get(…)} on a group expected to be pre-filled * with mandatory parameters. */ @Test public void testValuesGet() { final DefaultParameterValueGroup group = new DefaultParameterValueGroup(descriptor); final List<GeneralParameterValue> values = group.values(); assertEquals("Initial size", 2, values.size()); assertEquals(descriptor.descriptors().get(0).createValue(), values.get(0)); assertEquals(descriptor.descriptors().get(1).createValue(), values.get(1)); try { values.get(2); fail("Index 2 shall be out of bounds."); } catch (IndexOutOfBoundsException e) { assertNotNull(e.getMessage()); } assertEquals(DefaultParameterDescriptorGroupTest.DEFAULT_VALUE, ((ParameterValue<?>) values.get(0)).getValue()); assertEquals(DefaultParameterDescriptorGroupTest.DEFAULT_VALUE, ((ParameterValue<?>) values.get(1)).getValue()); }
final ParameterValue pv = (ParameterValue) pd.createValue(); final ParameterValue pv = (ParameterValue) pd.createValue(); if (pd instanceof ParameterDescriptor && String.class.equals(((ParameterDescriptor) pd).getValueClass())) {
/** * Tests {@code DefaultParameterValueGroup.values().set(…)}. */ @Test @DependsOnMethod("testValuesGet") public void testValuesSet() { final DefaultParameterValueGroup group = new DefaultParameterValueGroup(descriptor); final List<GeneralParameterValue> values = group.values(); assertEquals("Initial size", 2, values.size()); final ParameterValue<?> p0 = (ParameterValue<?>) descriptor.descriptors().get(0).createValue(); final ParameterValue<?> p1 = (ParameterValue<?>) descriptor.descriptors().get(1).createValue(); p0.setValue(4); p1.setValue(5); assertEquals("Mandatory 1", values.set(0, p0).getDescriptor().getName().toString()); assertEquals("Mandatory 2", values.set(1, p1).getDescriptor().getName().toString()); try { values.set(2, p1); fail("Index 2 shall be out of bounds."); } catch (IndexOutOfBoundsException e) { assertNotNull(e.getMessage()); } assertEquals("size", 2, values.size()); // Size should be unchanged. assertEquals(4, ((ParameterValue<?>) values.get(0)).intValue()); assertEquals(5, ((ParameterValue<?>) values.get(1)).intValue()); }
final ParameterValue<?> v2 = (ParameterValue<?>) descriptor.descriptor("Mandatory 2").createValue(); final ParameterValue<?> v3 = (ParameterValue<?>) descriptor.descriptor( "Optional 3").createValue(); final ParameterValueGroup g1 = subGroup.createValue(); final ParameterValueGroup g2 = subGroup.createValue();
time = (ParameterValue) pd.createValue(); time.setValue(timeValues); elevation = (ParameterValue) pd.createValue(); elevation.setValue(elevations[0]);