@Override @SuppressWarnings("unchecked") Object getValue(Object target) throws Exception { Object extractionTarget = target; // This part will be improved in 3.7 to avoid extra allocation DefaultValueCollector collector = new DefaultValueCollector(); if (target instanceof Data) { extractionTarget = serializationService.createPortableReader((Data) target); } extractor.extract(extractionTarget, arguments, collector); return collector.getResult(); }
@Override @SuppressWarnings("unchecked") Object getValue(Object target) throws Exception { Object extractionTarget = target; // This part will be improved in 3.7 to avoid extra allocation DefaultValueCollector collector = new DefaultValueCollector(); if (target instanceof Data) { extractionTarget = serializationService.createPortableReader((Data) target); } extractor.extract(extractionTarget, arguments, collector); return collector.getResult(); }
@Override Object getValue(Object target, String fieldPath) throws Exception { Data data = (Data) target; PortableContext context = serializationService.getPortableContext(); PortableReader reader = serializationService.createPortableReader(data); ClassDefinition classDefinition = context.lookupClassDefinition(data); FieldDefinition fieldDefinition = context.getFieldDefinition(classDefinition, fieldPath); if (fieldDefinition != null) { return ((DefaultPortableReader) reader).read(fieldPath); } else { return null; } }
@Override Object getValue(Object target, String fieldPath) throws Exception { Data data = (Data) target; PortableContext context = serializationService.getPortableContext(); PortableReader reader = serializationService.createPortableReader(data); ClassDefinition classDefinition = context.lookupClassDefinition(data); FieldDefinition fieldDefinition = context.getFieldDefinition(classDefinition, fieldPath); if (fieldDefinition != null) { return ((DefaultPortableReader) reader).read(fieldPath); } else { return null; } }