@ParametersAreNonnullByDefault public interface ManyValueWithIndices extends ManyValueMapper
ManyValueMapper that provides a default behavior to represent the "multi-valued" directly with their
 position.
 
 Indices are persisted with dedicated SingleFeatureBeans containing the index of the element to store. Using
 this approach avoid to deserialize entire Collections to retrieve a single element, which can be an
 important bottleneck in terms of execution time and memory consumption if the underlying model contains very large
 Collections.
| Modifier and Type | Method and Description | 
|---|---|
| default <V> void | addAllValues(ManyFeatureBean feature,
            List<? extends V> collection)Adds all the  collectionto the specifiedfeaturefrom the position of thefeature. | 
| default <V> void | addValue(ManyFeatureBean feature,
        V value)Adds the  valueto the specifiedfeatureat a defined position. | 
| default <V> Stream<V> | allValuesOf(SingleFeatureBean feature)Retrieves all values of the specified  feature. | 
| default void | removeAllValues(SingleFeatureBean feature)Removes all values of the specified  feature. | 
| default <V> Optional<V> | removeValue(ManyFeatureBean feature)Removes the value of the specified  featureat a defined position. | 
| default void | sizeForValue(SingleFeatureBean feature,
            int size)Defines the number of values of the specified  feature. | 
| default Optional<Integer> | sizeOfValue(SingleFeatureBean feature)Returns the number of value of the specified  feature. | 
| default <V> Optional<V> | valueFor(ManyFeatureBean feature,
        V value)Defines the  valueof the specifiedfeatureat a defined position. | 
| <V> void | valueForNullable(ManyFeatureBean feature,
                V value)Defines the  valueof the specifiedfeatureat a defined position. | 
appendAllValues, appendValue, valueOfremoveValue, valueFor, valueOf@Nonnull default <V> Stream<V> allValuesOf(SingleFeatureBean feature)
ManyValueMapperfeature.allValuesOf in interface ManyValueMapperfeature - the bean identifying the multi-valued attributeStream over all values@Nonnull default <V> Optional<V> valueFor(ManyFeatureBean feature, V value)
ManyValueMappervalue of the specified feature at a defined position.valueFor in interface ManyValueMapperV - the type of valuefeature - the bean identifying the multi-valued attributevalue - the value to setOptional containing the previous value of the feature, or Optional.empty() if
 the feature has no value beforeManyValueMapper.addValue(ManyFeatureBean, Object), 
ManyValueMapper.appendValue(SingleFeatureBean, Object)default <V> void addValue(ManyFeatureBean feature, V value)
ManyValueMappervalue to the specified feature at a defined position.addValue in interface ManyValueMapperV - the type of valuefeature - the bean identifying the multi-valued attributevalue - the value to adddefault <V> void addAllValues(ManyFeatureBean feature, List<? extends V> collection)
ManyValueMappercollection to the specified feature from the position of the feature.addAllValues in interface ManyValueMapperV - the type of valuefeature - the bean identifying the multi-valued attributecollection - the values to add@Nonnull default <V> Optional<V> removeValue(ManyFeatureBean feature)
ManyValueMapperfeature at a defined position.removeValue in interface ManyValueMapperV - the type of valuefeature - the bean identifying the multi-valued attributeOptional containing the removed value, or Optional.empty() if the feature has no value
 beforedefault void removeAllValues(SingleFeatureBean feature)
ManyValueMapperfeature.removeAllValues in interface ManyValueMapperfeature - the bean identifying the multi-valued attribute@Nonnull @Nonnegative default Optional<Integer> sizeOfValue(SingleFeatureBean feature)
ManyValueMapperfeature.sizeOfValue in interface ManyValueMapperfeature - the bean identifying the multi-valued attributeOptional containing the number of value of the feature, or Optional.empty() if
 the feature hasn't any value, or if size == 0.default void sizeForValue(SingleFeatureBean feature, @Nonnegative int size)
feature.feature - the bean identifying the multi-valued attributesize - the number of valuesNullPointerException - if the feature is nullIllegalArgumentException - if size < 0<V> void valueForNullable(ManyFeatureBean feature, @Nullable V value)
value of the specified feature at a defined position.
 
 This method behaves like valueFor(ManyFeatureBean, Object), without checking whether the multi-valued
 feature already exists, in order to replace it. If value == null, the feature is removed.
V - the type of valuefeature - the bean identifying the multi-valued attributevalue - the value to setNullPointerException - if the feature is nullCopyright © 2013–2019 Atlanmod. All rights reserved.