当前位置: 首页>>代码示例>>Java>>正文


Java ScanDialog.runWhenScanFinished方法代码示例

本文整理汇总了Java中org.netbeans.api.java.source.ui.ScanDialog.runWhenScanFinished方法的典型用法代码示例。如果您正苦于以下问题:Java ScanDialog.runWhenScanFinished方法的具体用法?Java ScanDialog.runWhenScanFinished怎么用?Java ScanDialog.runWhenScanFinished使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.netbeans.api.java.source.ui.ScanDialog的用法示例。


在下文中一共展示了ScanDialog.runWhenScanFinished方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: findMethod

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@NbBundle.Messages("JavaUtils.title.method.searching=Searching Method")
public static ElementHandle<ExecutableElement> findMethod(FileObject fileObject, final String classBinName,
        final String methodName, int argCount, Public publicFlag, Static staticFlag) {
    JavaSource js = JavaUtils.getJavaSource(fileObject);
    if (js != null) {
        MethodFinder methodFinder = new MethodFinder(js, classBinName, methodName, argCount, publicFlag, staticFlag);
        methodFinder.runAsUserTask();
        if (methodFinder.getMethodHandle() == null && SourceUtils.isScanInProgress()) {
            if (!ScanDialog.runWhenScanFinished(methodFinder, Bundle.JavaUtils_title_method_searching())) {
                return methodFinder.getMethodHandle();
            } else {
                return null;
            }
        } else {
            return methodFinder.getMethodHandle();
        }
    }

    return null;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:21,代码来源:JavaUtils.java

示例2: findAndOpenJavaClass

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@NbBundle.Messages("JavaUtils.title.class.searching=Searching Class...")
public static void findAndOpenJavaClass(final String classBinaryName, FileObject fileObject) {
    if (classBinaryName == null || fileObject == null) {
        return;
    }

    final JavaSource js = JavaUtils.getJavaSource(fileObject);
    if (js != null) {
        final AtomicBoolean cancel = new AtomicBoolean(false);
        final ClassFinder classFinder = new ClassFinder(js, classBinaryName, cancel);
        if (SourceUtils.isScanInProgress()) {
            ScanDialog.runWhenScanFinished(new Runnable() {
                @Override
                public void run() {
                    ProgressUtils.runOffEventDispatchThread(classFinder, Bundle.JavaUtils_title_class_searching(), cancel, false);
                }
            }, Bundle.JavaUtils_title_class_searching());
        } else {
            ProgressUtils.runOffEventDispatchThread(classFinder, Bundle.JavaUtils_title_class_searching(), cancel, false);
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:23,代码来源:JavaUtils.java

示例3: process

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@NbBundle.Messages("title.property.searching=Property Searching")
@Override
public void process(HyperlinkEnv env) {
    String className = new BeanClassFinder(env.getBeanAttributes(),
            env.getFileObject()).findImplementationClass(false);
    if (className == null) {
        return;
    }

    String propChain = getPropertyChainUptoPosition(env);
    if (propChain == null || propChain.equals("")) { //NOI18N
        return;
    }

    JavaSource js = JavaUtils.getJavaSource(env.getFileObject());
    if (js == null) {
        return;
    }

    boolean jumpToGetter = StringUtils.occurs(env.getValueString(), ".", propChain.length()); //NOI18N
    PropertySeekerTask propertySeeker = new PropertySeekerTask(js, className, propChain, jumpToGetter);
    propertySeeker.runAsUserTask();
    if (!propertySeeker.wasElementFound()) {
        ScanDialog.runWhenScanFinished(propertySeeker, Bundle.title_property_searching());
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:27,代码来源:PropertyHyperlinkProcessor.java

示例4: getFactoryMethodReturnTypeName

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
/**
 * Tries to search for a factory method with a specified name on the class.
 * Due to current limitations of the model, if more than one factory method
 * is found, we are not able to disambiguate based on the parameter types of
 * the factory method.
 *
 * Hence we return a null in such a scenario.
 *
 */
@NbBundle.Messages("title.class.resolver=Resolving Class")
private String getFactoryMethodReturnTypeName(final String implClass, final String factoryMethodName,
        final boolean staticFlag, final boolean immediateAction) {
    final String[] retVal = {null};

    if (!StringUtils.hasText(factoryMethodName)) {
        return null;
    }

    JavaSource js = JavaUtils.getJavaSource(fileObject);
    if (js == null) {
        return null;
    }

    ClassResolver classResolver = new ClassResolver(js, implClass, factoryMethodName, staticFlag, retVal);
    runClassResolverAsUserActionTask(js, classResolver);
    if (!immediateAction && !classResolver.wasClassResolved() && SourceUtils.isScanInProgress()) {
        ScanDialog.runWhenScanFinished(classResolver, Bundle.title_class_resolver());
    }

    return retVal[0];
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:32,代码来源:BeanClassFinder.java

示例5: waitScanFinished

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
public static void waitScanFinished() {
    try {
        class Wait implements Runnable {

            boolean initialized;
            boolean ok;

            public void run() {
                if (initialized) {
                    ok = true;
                    return;
                }
                initialized = true;
                boolean canceled = ScanDialog.runWhenScanFinished(this, "tests");
                Assert.assertFalse("Dialog really finished", canceled);
                Assert.assertTrue("Runnable run", ok);
            }
        }
        Wait wait = new Wait();
        SwingUtilities.invokeAndWait(wait);
    } catch (Exception ex) {
        throw (AssertionFailedError)new AssertionFailedError().initCause(ex);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:25,代码来源:PerfWatchProjects.java

示例6: doDelete

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@Override
public void doDelete( final Lookup lookup ) {
    if (lookup.lookup(ExplorerContext.class) != null) {
        Node node = lookup.lookup(Node.class);
        node.setValue(NODE_ATTRIBUTE_NAME, Boolean.TRUE);
        try {
            SystemAction.get(DeleteAction.class).actionPerformed(null);
            return;
        }
        finally {
            node.setValue(NODE_ATTRIBUTE_NAME, Boolean.FALSE);
        }
    }
    Runnable runnable = new Runnable() {

        @Override
        public void run() {
            UI.openRefactoringUI(new DeleteRefactoringUI(getGwtXml(lookup)));
        }
    };
    ScanDialog.runWhenScanFinished(runnable, Bundle.delete());
}
 
开发者ID:vaadin,项目名称:netbeans-plugin,代码行数:23,代码来源:GwtRefactoringActionsProvider.java

示例7: process

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@NbBundle.Messages("title.attribute.searching=Searching Attribute")
@Override
public void process(HyperlinkEnv env) {
    String attribName = env.getAttribName();
    if (env.getType().isValueHyperlink()) {
        if (attribName.endsWith("-ref")) { //NOI18N
            beansRefHyperlinkProcessor.process(env);
        }
    } else if (env.getType().isAttributeHyperlink()) {
        String propName = ContextUtilities.getLocalNameFromTag(attribName);
        if (propName.endsWith("-ref")) { //NOI18N
            propName = propName.substring(0, propName.indexOf("-ref")); //NOI18N
        }

        String className = new BeanClassFinder(env.getBeanAttributes(),
                env.getFileObject()).findImplementationClass(false);
        if (className == null) {
            return;
        }

        JavaSource js = JavaUtils.getJavaSource(env.getFileObject());
        if (js == null) {
            return;
        }

        ClassSeekerTask classSeekerTask = new ClassSeekerTask(js, className, propName);
        classSeekerTask.runAsUserTask();
        if (!classSeekerTask.wasElementFound() && SourceUtils.isScanInProgress()) {
            ScanDialog.runWhenScanFinished(classSeekerTask, Bundle.title_attribute_searching());
        }
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:33,代码来源:PHyperlinkProcessor.java

示例8: invokeTarget

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
static void invokeTarget(
        @NonNull final JavaActionProvider.ScriptAction scriptAction,
        @NonNull final Context ctx) {
    final String userPropertiesFile = verifyUserPropertiesFile(ctx);
    final JavaModelWork action = new JavaModelWork(scriptAction, ctx, userPropertiesFile);
    final Set<ActionFlag> flags = scriptAction.getActionFlags();
    if (flags.contains(ActionFlag.JAVA_MODEL_SENSITIVE) ||
            (ctx.getCompileOnSaveOperations().contains(CompileOnSaveOperation.UPDATE) && flags.contains(ActionFlag.SCAN_SENSITIVE))) {
        //Always have to run with java model
        ScanDialog.runWhenScanFinished(action, scriptAction.getDisplayName());
    } else if (flags.contains(ActionFlag.SCAN_SENSITIVE)) {
        //Run without model if not yet ready
        try {
            action.needsJavaModel = false;
            invokeByJavaSource(action);
            if (!action.isCalled()) {
                action.doJavaChecks = false;
                action.run();
            }
        } catch (IOException ex) {
            Exceptions.printStackTrace(ex);
        }
    } else {
        //Does not need java model
        action.run();
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:28,代码来源:ActionProviderSupport.java

示例9: runWhenScanFinished

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
public static boolean runWhenScanFinished (final Runnable runnable, final String actionName) {
        return ScanDialog.runWhenScanFinished(
            () -> {
                if (ParserManager.isParsing()) {
                    SwingUtilities.invokeLater(runnable);
                } else {
                    runnable.run();
                }
            },
            actionName);
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:12,代码来源:UIUtilities.java

示例10: invokeAction

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@Override
public void invokeAction(final String command, final Lookup context) {
    //System.out.println("Invoking action "+command);
    final Runnable action = new Runnable() {
        @Override
        public void run() {
            Properties p = new Properties();
            String[] targetNames = getTargetNames(command, context, p);

            if (targetNames.length == 0) {
                targetNames = null;
            }
            if (p.keySet().isEmpty()) {
                p = null;
            }
            try {
                FileObject buildFo = findBuildXml();
                if (buildFo == null || !buildFo.isValid()) {
                    //The build.xml was deleted after the isActionEnabled was called
                    NotifyDescriptor nd = new NotifyDescriptor.Message(NbBundle.getMessage(AbstractMirahActionProvider.class,
                            "LBL_No_Build_XML_Found"), NotifyDescriptor.WARNING_MESSAGE);
                    DialogDisplayer.getDefault().notify(nd);
                } else {
                    ActionUtils.runTarget(buildFo, targetNames, p);
                }
            } catch (IOException e) {
                ErrorManager.getDefault().notify(e);
            }
        }
    };

    if (supportedActions.containsKey(command)) {
        ScanDialog.runWhenScanFinished(action, NbBundle.getMessage(AbstractMirahActionProvider.class,"ACTION_"+command));   //NOI18N
    } else {
        action.run();
    }
}
 
开发者ID:shannah,项目名称:mirah-nbm,代码行数:38,代码来源:AbstractMirahActionProvider.java

示例11: doRename

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@Override
public void doRename( final Lookup lookup ) {
    Runnable runnable = new Runnable() {

        @Override
        public void run() {
            UI.openRefactoringUI(new RenameRefactoringUI(getGwtXml(lookup)));
        }
    };
    ScanDialog.runWhenScanFinished(runnable, Bundle.rename());
}
 
开发者ID:vaadin,项目名称:netbeans-plugin,代码行数:12,代码来源:GwtRefactoringActionsProvider.java

示例12: doMove

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@Override
public void doMove( final Lookup lookup ) {
    Runnable runnable = new Runnable() {

        @Override
        public void run() {
            UI.openRefactoringUI(new MoveRefactoringUI(getGwtXml(lookup),
                    getContextTarget(lookup)));
        }
    };
    ScanDialog.runWhenScanFinished(runnable, Bundle.move());
}
 
开发者ID:vaadin,项目名称:netbeans-plugin,代码行数:13,代码来源:GwtRefactoringActionsProvider.java

示例13: doCopy

import org.netbeans.api.java.source.ui.ScanDialog; //导入方法依赖的package包/类
@Override
public void doCopy( final Lookup lookup ) {
    Runnable runnable = new Runnable() {

        @Override
        public void run() {
            UI.openRefactoringUI(new CopyRefactoringUI(getGwtXml(lookup),
                    getContextTarget(lookup)));
        }
    };
    ScanDialog.runWhenScanFinished(runnable, Bundle.copy());
}
 
开发者ID:vaadin,项目名称:netbeans-plugin,代码行数:13,代码来源:GwtRefactoringActionsProvider.java


注:本文中的org.netbeans.api.java.source.ui.ScanDialog.runWhenScanFinished方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。