class FloatArrayValueExtractor implements ValueExtractor<float @ExtractedValue[]> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new FloatArrayValueExtractor() ); private FloatArrayValueExtractor() { } @Override public void extractValues(float[] originalValue, ValueReceiver receiver) { for ( int i = 0; i < originalValue.length; i++ ) { receiver.indexedValue( NodeImpl.ITERABLE_ELEMENT_NODE_NAME, i, originalValue[i] ); } } }
class ObjectArrayValueExtractor implements ValueExtractor<Object @ExtractedValue[]> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new ObjectArrayValueExtractor() ); private ObjectArrayValueExtractor() { } @Override public void extractValues(Object[] originalValue, ValueReceiver receiver) { for ( int i = 0; i < originalValue.length; i++ ) { receiver.indexedValue( NodeImpl.ITERABLE_ELEMENT_NODE_NAME, i, originalValue[i] ); } } }
class IntArrayValueExtractor implements ValueExtractor<int @ExtractedValue[]> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new IntArrayValueExtractor() ); private IntArrayValueExtractor() { } @Override public void extractValues(int[] originalValue, ValueReceiver receiver) { for ( int i = 0; i < originalValue.length; i++ ) { receiver.indexedValue( NodeImpl.ITERABLE_ELEMENT_NODE_NAME, i, originalValue[i] ); } } }
/** * @author Gunnar Morling */ class OptionalValueExtractor implements ValueExtractor<Optional<@ExtractedValue ?>> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new OptionalValueExtractor() ); private OptionalValueExtractor() { } @Override public void extractValues(Optional<?> originalValue, ValueExtractor.ValueReceiver receiver) { receiver.value( null, originalValue.isPresent() ? originalValue.get() : null ); } }
class MapValueExtractor implements ValueExtractor<Map<?, @ExtractedValue ?>> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new MapValueExtractor() ); private MapValueExtractor() { } @Override public void extractValues(Map<?, ?> originalValue, ValueReceiver receiver) { for ( Map.Entry<?, ?> entry : originalValue.entrySet() ) { receiver.keyedValue( NodeImpl.MAP_VALUE_NODE_NAME, entry.getKey(), entry.getValue() ); } } }
class IterableValueExtractor implements ValueExtractor<Iterable<@ExtractedValue ?>> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new IterableValueExtractor() ); private IterableValueExtractor() { } @Override public void extractValues(Iterable<?> originalValue, ValueReceiver receiver) { for ( Object object : originalValue ) { receiver.iterableValue( NodeImpl.ITERABLE_ELEMENT_NODE_NAME, object ); } } }
class CharArrayValueExtractor implements ValueExtractor<char @ExtractedValue[]> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new CharArrayValueExtractor() ); private CharArrayValueExtractor() { } @Override public void extractValues(char[] originalValue, ValueReceiver receiver) { for ( int i = 0; i < originalValue.length; i++ ) { receiver.indexedValue( NodeImpl.ITERABLE_ELEMENT_NODE_NAME, i, originalValue[i] ); } } }
class ListValueExtractor implements ValueExtractor<List<@ExtractedValue ?>> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new ListValueExtractor() ); private ListValueExtractor() { } @Override public void extractValues(List<?> originalValue, ValueReceiver receiver) { for ( int i = 0; i < originalValue.size(); i++ ) { receiver.indexedValue( NodeImpl.LIST_ELEMENT_NODE_NAME, i, originalValue.get( i ) ); } } }
class MapKeyExtractor implements ValueExtractor<Map<@ExtractedValue ?, ?>> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new MapKeyExtractor() ); private MapKeyExtractor() { } @Override public void extractValues(Map<?, ?> originalValue, ValueReceiver receiver) { for ( Map.Entry<?, ?> entry : originalValue.entrySet() ) { receiver.keyedValue( NodeImpl.MAP_KEY_NODE_NAME, entry.getKey(), entry.getKey() ); } } }
class ByteArrayValueExtractor implements ValueExtractor<byte @ExtractedValue[]> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new ByteArrayValueExtractor() ); private ByteArrayValueExtractor() { } @Override public void extractValues(byte[] originalValue, ValueReceiver receiver) { for ( int i = 0; i < originalValue.length; i++ ) { receiver.indexedValue( NodeImpl.ITERABLE_ELEMENT_NODE_NAME, i, originalValue[i] ); } } }
public static class ForObject implements ValueExtractor<Optional<@ExtractedValue ?>> { @Override public void extractValues(Optional<?> originalValue, ValueExtractor.ValueReceiver receiver) { receiver.value(null, originalValue.orElse(null)); } }
public class ListElementExtractor implements ValueExtractor<List<@ExtractedValue ?>> { @Override public void extractValues(List<?> originalValue, ValueExtractor.ValueReceiver receiver) { for (int i = 0, sz = originalValue.size(); i < sz; i++) { receiver.indexedValue("<list element>", i, originalValue.get(i)); } } }
public static class ForValue implements ValueExtractor<Map<?, @ExtractedValue ?>> { @Override public void extractValues(Map<?, ?> originalValue, ValueExtractor.ValueReceiver receiver) { originalValue.entrySet().forEach(e -> receiver.keyedValue("<map value>", e.getKey(), e.getValue())); } } }
public static class ForSetProperty implements ValueExtractor<ReadOnlySetProperty<@ExtractedValue ?>> { @Override public void extractValues(ReadOnlySetProperty<?> originalValue, ValueExtractor.ValueReceiver receiver) { Optional.ofNullable(originalValue.getValue()) .ifPresent(s -> s.forEach(e -> receiver.iterableValue("<iterable element>", e))); } }
public static class ForMapPropertyKey implements ValueExtractor<ReadOnlyMapProperty<@ExtractedValue ?, ?>> { @Override public void extractValues(ReadOnlyMapProperty<?, ?> originalValue, ValueExtractor.ValueReceiver receiver) { Optional.ofNullable(originalValue.getValue()) .ifPresent(m -> m.keySet().forEach(k -> receiver.keyedValue("<map key>", k, k))); } }
/** * @author Guillaume Smet */ @UnwrapByDefault class OptionalDoubleValueExtractor implements ValueExtractor<@ExtractedValue(type = Double.class) OptionalDouble> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new OptionalDoubleValueExtractor() ); @Override public void extractValues(OptionalDouble originalValue, ValueReceiver receiver) { receiver.value( null, originalValue.isPresent() ? originalValue.getAsDouble() : null ); } }
/** * @author Guillaume Smet */ @UnwrapByDefault class OptionalIntValueExtractor implements ValueExtractor<@ExtractedValue(type = Integer.class) OptionalInt> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new OptionalIntValueExtractor() ); @Override public void extractValues(OptionalInt originalValue, ValueReceiver receiver) { receiver.value( null, originalValue.isPresent() ? originalValue.getAsInt() : null ); } }
/** * @author Guillaume Smet */ @UnwrapByDefault class OptionalLongValueExtractor implements ValueExtractor<@ExtractedValue(type = Long.class) OptionalLong> { static final ValueExtractorDescriptor DESCRIPTOR = new ValueExtractorDescriptor( new OptionalLongValueExtractor() ); @Override public void extractValues(OptionalLong originalValue, ValueReceiver receiver) { receiver.value( null, originalValue.isPresent() ? originalValue.getAsLong() : null ); } }
@UnwrapByDefault public static class ForLong implements ValueExtractor<@ExtractedValue(type = Long.class) OptionalLong> { @Override public void extractValues(OptionalLong originalValue, ValueExtractor.ValueReceiver receiver) { receiver.value(null, originalValue.isPresent() ? Long.valueOf(originalValue.getAsLong()) : null); } }
@UnwrapByDefault public static class ForObservableValue implements ValueExtractor<ObservableValue<@ExtractedValue ?>> { @Override public void extractValues(ObservableValue<?> originalValue, ValueExtractor.ValueReceiver receiver) { receiver.value(null, originalValue.getValue()); } }