Search in sources :

Example 1 with ILinkHelper

use of org.eclipse.ui.navigator.ILinkHelper in project polymap4-core by Polymap4.

the class LinkHelperDescriptor method createLinkHelper.

/**
 * Create a link helper instance from this descriptors class attribute.
 *
 * @return An instance of the helper that is defined by the extension, or a
 *         Skeleton Link Helper.
 */
public ILinkHelper createLinkHelper() {
    if (hasLinkHelperFailedCreation)
        return SkeletonLinkHelper.INSTANCE;
    final ILinkHelper[] helper = new ILinkHelper[1];
    SafeRunner.run(new NavigatorSafeRunnable(configElement) {

        public void run() throws Exception {
            helper[0] = (ILinkHelper) configElement.createExecutableExtension(ATT_CLASS);
        }
    });
    if (helper[0] != null)
        return helper[0];
    hasLinkHelperFailedCreation = true;
    return SkeletonLinkHelper.INSTANCE;
}
Also used : ILinkHelper(org.eclipse.ui.navigator.ILinkHelper) NavigatorSafeRunnable(org.eclipse.ui.internal.navigator.NavigatorSafeRunnable)

Aggregations

NavigatorSafeRunnable (org.eclipse.ui.internal.navigator.NavigatorSafeRunnable)1 ILinkHelper (org.eclipse.ui.navigator.ILinkHelper)1