@Override @Nonnull public ProfileEvaluationMainPresentation getPresentation() { return builder.getInstance(); } }
@Override public void run() { reference.set(createComponentInstance()); } });
@Nonnull public synchronized T getInstance() { log.info("getInstance()"); T presentation = presentationRef.get(); if (presentation == null) { presentation = EventQueue.isDispatchThread() ? createComponentInstance() : createComponentInstanceInEDT(); presentation = (T)Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), new Class[] { interfaceClass }, new SwingSafeProxy<T>(presentation)); presentationRef = new WeakReference<T>(presentation); } return presentation; }
@Nonnull public static <J, X extends J> SwingSafeComponentBuilder<J, X> builderFor (final @Nonnull Class<J> interfaceClass, final @Nonnull Class<X> componentClass) { return new SwingSafeComponentBuilder<J, X>(componentClass, interfaceClass); }
public SwingPresentationBuilder() { final List<Class<?>> t = ReflectionUtils.getTypeArguments(SwingPresentationBuilder.class, getClass()); builder = builderFor((Class<I>)t.get(0), (Class<T>)t.get(1)); }
@Override @Nonnull public UniformityCheckMainPresentation getPresentation() { return builder.getInstance(); } }
@Override @Nonnull public UniformityCheckMeasurementPresentation getPresentation() { return builder.getInstance(); } }
@Nonnull public final synchronized T get() { return builder.getInstance(); } }
@Override @Nonnull public UniformityCheckMainPresentation getPresentation() { return builder.getInstance(); } }
@Override @Nonnull public UniformityCheckMeasurementPresentation getPresentation() { return builder.getInstance(); } }
@Override @Nonnull public ProfileEvaluationSequencePresentation getPresentation() { return builder.getInstance(); } }