@Override @SuppressWarnings("unchecked") public void extract(MapSession target, String argument, ValueCollector collector) { String principalName = PRINCIPAL_NAME_RESOLVER.resolvePrincipal(target); if (principalName != null) { collector.addObject(principalName); } }
@Override public void extract(ValueReader valueReader, Object arg, ValueCollector valueCollector) { valueReader.read("limbs[any].name", valueCollector); // just for debug - to print all the values read // remember that extractor may be invoked in attribute type examination too valueReader.read("limbs[any].name", new ValueCallback<String>() { @Override public void onResult(String s) { System.out.println(s); } }); }
@Override @SuppressWarnings("unchecked") public void read(String path, ValueCallback callback) { try { Object result = read(path); if (result instanceof MultiResult) { MultiResult multiResult = (MultiResult) result; for (Object singleResult : multiResult.getResults()) { callback.onResult(singleResult); } } else { callback.onResult(result); } } catch (IOException e) { throw new ValueReadingException(e.getMessage(), e); } catch (RuntimeException e) { throw new ValueReadingException(e.getMessage(), e); } }
@Override @SuppressWarnings("unchecked") public void read(String path, ValueCollector collector) { try { Object result = read(path); if (result instanceof MultiResult) { MultiResult multiResult = (MultiResult) result; for (Object singleResult : multiResult.getResults()) { collector.addObject(singleResult); } } else { collector.addObject(result); } } catch (IOException e) { throw new ValueReadingException(e.getMessage(), e); } catch (RuntimeException e) { throw new ValueReadingException(e.getMessage(), e); } }
@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 public void extract(SillySequence sillySequence, String indexString, ValueCollector valueCollector) { valueCollector.addObject(sillySequence.payloadField.get(Integer.parseInt(indexString))); } }
@Override @SuppressWarnings("unchecked") public void read(String path, ValueCollector collector) { try { Object result = read(path); if (result instanceof MultiResult) { MultiResult multiResult = (MultiResult) result; for (Object singleResult : multiResult.getResults()) { collector.addObject(singleResult); } } else { collector.addObject(result); } } catch (IOException e) { throw new ValueReadingException(e.getMessage(), e); } catch (RuntimeException e) { throw new ValueReadingException(e.getMessage(), e); } }
@Override @SuppressWarnings("unchecked") public void read(String path, ValueCallback callback) { try { Object result = read(path); if (result instanceof MultiResult) { MultiResult multiResult = (MultiResult) result; for (Object singleResult : multiResult.getResults()) { callback.onResult(singleResult); } } else { callback.onResult(result); } } catch (IOException e) { throw new ValueReadingException(e.getMessage(), e); } catch (RuntimeException e) { throw new ValueReadingException(e.getMessage(), e); } }
@Override public void extract(ValueReader reader, String indexString, ValueCollector valueCollector) { reader.read("payloadFromExtractor[" + indexString + "]", valueCollector); } }
@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 public void extract(Car car, String argument, ValueCollector valueCollector) { valueCollector.addObject(car.getAttribute(argument)); } }
@Override @SuppressWarnings("unchecked") public void extract(MapSession target, String argument, ValueCollector collector) { String principalName = PRINCIPAL_NAME_RESOLVER.resolvePrincipal(target); if (principalName != null) { collector.addObject(principalName); } }
@Override public void extract(QueryResult target, Object argument, ValueCollector collector) { for (Long docId: target.getDocIds()) { collector.addObject(docId); } //logger.debug("extract.exit; added {} values to {}", target.getDocIds().size(), collector); }
@Override public void extract(Customer customer, String argument, ValueCollector valueCollector) { int age = Calendar.getInstance().get(Calendar.YEAR) - customer.getYearOfBirth(); valueCollector.addObject(age); } }
@Override public void extract(Car car, String argument, ValueCollector valueCollector) { Integer tripStartMileage = (Integer) car.getAttribute("tripStart"); Integer tripStopMileage = (Integer) car.getAttribute("tripStop"); valueCollector.addObject(tripStopMileage - tripStartMileage); } }
/** * <P> * Calculate age in years, an {@code int} not a {@code long}. * </P> * * @param lifeValue * The original object * @param unused * An arguments for the extractor * @param valueCollector * To add the extracted value */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public void extract(LifeValue lifeValue, Integer unused, ValueCollector valueCollector) { long age = ChronoUnit.YEARS.between(lifeValue.getDateOfBirth(), lifeValue.getDateOfDeath()); valueCollector.addObject((int) age); }