@Override public ParameterSet getQueryParameters() { final ParameterSet.Builder<?> builder = ParameterSet.builder().withParameters(queryParameters); // externally provided getQueryConfigurationProviders().forEach(p -> { ParameterSet parameters = p.getQueryParameters(); if (parameters != null) { builder.withParameters(parameters); } }); return queryParameters; }
@Override public String present(Property<T> property, T value) { ObjectUtils.argumentNotNull(property, "Property must be not null"); // check TemporalType ParameterSet.Builder<?> builder = ParameterSet.builder().withParameters(property.getConfiguration()); property.getConfiguration().getTemporalType() .ifPresent(t -> builder.withParameter(StringValuePresenter.TEMPORAL_TYPE, t)); final ParameterSet parameters = builder.build(); // check collection property if (value != null && CollectionProperty.class.isAssignableFrom(property.getClass()) && Collection.class.isAssignableFrom(value.getClass())) { final Class<?> elementType = ((CollectionProperty<?, ?>) property).getElementType(); return ((Collection<?>) value).stream().map(v -> presentValue(elementType, v, parameters)) .collect(Collectors.joining(",")); } // default presentation return presentValue(property.getType(), value, parameters); }
final ParameterSet presentationParameters = (parameters != null) ? parameters : ParameterSet.builder().build();
public void present() { String presented = StringValuePresenter.getDefault().present("stringValue"); // <1> presented = StringValuePresenter.getDefault().present("stringValue", ParameterSet.builder().withParameter(StringValuePresenter.MAX_LENGTH, 6).build()); // <2> presented = StringValuePresenter.getDefault().present(MyEnum.VALUE1); // <3> presented = StringValuePresenter.getDefault().present(new MyEnum[] { MyEnum.VALUE1, MyEnum.VALUE2 }); // <4> }
public void parameterSet() { // tag::params[] final ConfigProperty<String> property = ConfigProperty.create("test", String.class); ParameterSet set = ParameterSet.builder().withParameter("testParameter", 1L) // <1> .withParameter(property, "testValue") // <2> .build(); boolean present = set.hasParameter("testParameter"); // <3> present = set.hasNotNullParameter("testParameter"); // <4> Optional<String> value = set.getParameter("testParameter", String.class); // <5> String val = set.getParameter("testParameter", String.class, "default"); // <6> Optional<String> configPropertyValue = set.getParameter(property); // <7> String configPropertyVal = set.getParameter(property, "default"); // <8> boolean matches = set.hasParameterValue("testParameter", "myValue"); // <9> matches = set.hasParameterValue(property, "myValue"); // <10> // end::params[] }