/** * Synchronized class for safe run. * * @since 0.3 */ public class SynchronizedSelectEClassifierWizardPage extends SynchronizedWizardPage<ISelectEClassifierWizardPage> implements ISelectEClassifierWizardPage { private static final boolean DEBUG = DebugUtils.getDebugStatus(Activator.getDefault()); /** * Constructor. * * @param object the to synchronized. * @param display the display. */ public SynchronizedSelectEClassifierWizardPage( final ISelectEClassifierWizardPage object, final Display display) { super(object, display); } public EClassifier getSelectedEClassifier() { return this.safeSyncExec( new AbstractExceptionFreeRunnable<EClassifier>() { @Override public EClassifier safeRun() { return SynchronizedSelectEClassifierWizardPage.this .getSynchronizedObject() .getSelectedEClassifier(); } }); } public void selectEClassifier(final String selection) { this.voidExceptionFreeRunnable( new AbstractVoidExceptionFreeRunnable() { @Override public void voidSafeRun() { SynchronizedSelectEClassifierWizardPage.this .getSynchronizedObject() .selectEClassifier(selection); } }); // We keep the thread waiting until the selection is not done. // If we release the thread, the selection may not be done and made some // errors while (this.getSelectedEClassifier() == null) { DebugUtils.debug(DEBUG, "Waiting."); // $NON-NLS-1$ } } }
public void selectEClassifier(final String selection) { this.voidExceptionFreeRunnable( new AbstractVoidExceptionFreeRunnable() { @Override public void voidSafeRun() { SynchronizedSelectEClassifierWizardPage.this .getSynchronizedObject() .selectEClassifier(selection); } }); // We keep the thread waiting until the selection is not done. // If we release the thread, the selection may not be done and made some // errors while (this.getSelectedEClassifier() == null) { DebugUtils.debug(DEBUG, "Waiting."); // $NON-NLS-1$ } }