本文整理汇总了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;
}
示例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);
}
}
}
示例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());
}
}
示例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];
}
示例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);
}
}
示例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());
}
示例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());
}
}
}
示例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();
}
}
示例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);
}
示例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();
}
}
示例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());
}
示例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());
}
示例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());
}