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] ); } } }
private static Optional<Class<?>> getExtractedType(AnnotatedParameterizedType valueExtractorDefinition) { AnnotatedType containerType = valueExtractorDefinition.getAnnotatedActualTypeArguments()[0]; if ( containerType.isAnnotationPresent( ExtractedValue.class ) ) { Class<?> extractedType = containerType.getAnnotation( ExtractedValue.class ).type(); if ( !void.class.equals( extractedType ) ) { return Optional.of( ReflectionHelper.boxedType( extractedType ) ); } } return Optional.empty(); }
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] ); } } }
private static class IWrapper211ValueExtractor0 implements ValueExtractor<IWrapper211<@ExtractedValue ?, ?>> { @Override public void extractValues(IWrapper211<?, ?> originalValue, ValueReceiver receiver) { receiver.value( "IWrapper211-0", originalValue.getProperty1() ); } }
private static class IWrapper221ValueExtractor0 implements ValueExtractor<IWrapper221<@ExtractedValue ?, ?>> { @Override public void extractValues(IWrapper221<?, ?> originalValue, ValueReceiver receiver) { receiver.value( "IWrapper221-0", originalValue.getProperty1() ); } }
/** * @author Guillaume Smet */ public class ReferenceValueExtractorWithNoPublicNoArgConstructor implements ValueExtractor<Reference<@ExtractedValue ?>> { public ReferenceValueExtractorWithNoPublicNoArgConstructor(String parameter) { } @Override public void extractValues(Reference<?> originalValue, ValueExtractor.ValueReceiver receiver) { receiver.value( null, originalValue.getValue() ); } }
private class WrapperWithTwoTypeArgumentsSecondValueExtractor implements ValueExtractor<WrapperWithTwoTypeArguments<?, @ExtractedValue ?>> { @Override public void extractValues(WrapperWithTwoTypeArguments<?, ?> originalValue, ValueExtractor.ValueReceiver receiver) { receiver.value( "second", originalValue.value2 ); } } }
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))); } }
private class ThrowsExceptionInExtractValuesValueHolderExtractor implements ValueExtractor<ValueHolder<@ExtractedValue ?>> { @Override public void extractValues(ValueHolder<@ExtractedValue ?> originalValue, ValueExtractor.ValueReceiver receiver) { throw new IllegalStateException( "Error while extracting value" ); } } }
/** * @author Guillaume Smet */ public class ReferenceValueExtractor3 implements ValueExtractor<Reference<@ExtractedValue ?>> { @Override public void extractValues(Reference<?> originalValue, ValueExtractor.ValueReceiver receiver) { receiver.value( "3", originalValue.getValue() ); } }