public void initialize(skadistats.clarity.processor.runner.Context context) { instantiateMissingProcessors(); bindInvocationPoints(context); processInjections(); callInitializers(); }
public <A extends Annotation> Event<A> createEvent(Class<A> eventType, Class... parameterTypes) { return executionModel.createEvent(eventType, parameterTypes); }
private void requireProcessorClass(Class<?> processorClass) { if (!hasProcessorForClass(processorClass)) { log.debug("require processor %s", processorClass.getName()); processors.put(processorClass, null); List<UsagePoint<? extends Annotation>> ups = findUsagePoints(processorClass); for (UsagePoint<? extends Annotation> up : ups) { usagePoints.add(up); if (up instanceof EventListener) { requireEventListener((EventListener) up); } else if (up instanceof InitializerMethod) { registerInitializer((InitializerMethod) up); } else { requireProvider(up); } } } }
private void injectEvent(Object processor, Field field, InsertEvent fieldAnnotation) { Class<? extends Annotation> eventType = (Class<? extends Annotation>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0]; Class<?>[] parameterTypes; if (fieldAnnotation.override()) { parameterTypes = fieldAnnotation.parameterTypes(); } else { UsagePointMarker marker = eventType.getAnnotation(UsagePointMarker.class); parameterTypes = marker.parameterClasses(); } injectValue(processor, field, createEvent(eventType, parameterTypes), "cannot inject event"); }
public EngineType getEngineType() { return executionModel.getRunner().getEngineType(); }
private ExecutionModel createExecutionModel(Object... processors) { ExecutionModel executionModel = new ExecutionModel(this); addProcessorsToModel(executionModel, processors); return executionModel; }
public <A extends Annotation> Event<A> createEvent(Class<A> eventType, Class... parameterTypes) { Set<EventListener<A>> listeners = computeListenersForEvent(eventType, parameterTypes); return new Event<>(listeners); }
private void addProcessorsToModel(ExecutionModel executionModel, Object[] processors) { for (Object p : processors) { if (p instanceof Object[]) { addProcessorsToModel(executionModel, (Object[]) p); } else { executionModel.addProcessor(p); } } }
public <T> T getProcessor(Class<T> processorClass) { return executionModel.getProcessor(processorClass); }
private void injectEvent(Object processor, Field field, InsertEvent fieldAnnotation) { Class<? extends Annotation> eventType = (Class<? extends Annotation>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0]; Class<?>[] parameterTypes; if (fieldAnnotation.override()) { parameterTypes = fieldAnnotation.parameterTypes(); } else { UsagePointMarker marker = eventType.getAnnotation(UsagePointMarker.class); parameterTypes = marker.parameterClasses(); } injectValue(processor, field, createEvent(eventType, parameterTypes), "cannot inject event"); }
public int getTick() { return executionModel.getRunner().getTick(); }
private ExecutionModel createExecutionModel(Object... processors) { ExecutionModel executionModel = new ExecutionModel(this); addProcessorsToModel(executionModel, processors); return executionModel; }
public <A extends Annotation> Event<A> createEvent(Class<A> eventType, Class... parameterTypes) { Set<EventListener<A>> listeners = computeListenersForEvent(eventType, parameterTypes); return new Event<>(listeners); }
private void addProcessorsToModel(ExecutionModel executionModel, Object[] processors) { for (Object p : processors) { if (p instanceof Object[]) { addProcessorsToModel(executionModel, (Object[]) p); } else { executionModel.addProcessor(p); } } }
public <T> T getProcessor(Class<T> processorClass) { return executionModel.getProcessor(processorClass); }
private void requireProcessorClass(Class<?> processorClass) { if (!hasProcessorForClass(processorClass)) { log.debug("require processor %s", processorClass.getName()); processors.put(processorClass, null); List<UsagePoint<? extends Annotation>> ups = findUsagePoints(processorClass); for (UsagePoint<? extends Annotation> up : ups) { usagePoints.add(up); if (up instanceof EventListener) { requireEventListener((EventListener) up); } else if (up instanceof InitializerMethod) { registerInitializer((InitializerMethod) up); } else { requireProvider(up); } } } }
public void initialize(skadistats.clarity.processor.runner.Context context) { instantiateMissingProcessors(); bindInvocationPoints(context); processInjections(); callInitializers(); }
public int getTick() { return executionModel.getRunner().getTick(); }
public <A extends Annotation> Event<A> createEvent(Class<A> eventType, Class... parameterTypes) { return executionModel.createEvent(eventType, parameterTypes); }
public EngineType getEngineType() { return executionModel.getRunner().getEngineType(); }