Example usage for org.eclipse.jdt.core IAccessRule K_ACCESSIBLE

List of usage examples for org.eclipse.jdt.core IAccessRule K_ACCESSIBLE

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IAccessRule K_ACCESSIBLE.

Prototype

int K_ACCESSIBLE

To view the source code for org.eclipse.jdt.core IAccessRule K_ACCESSIBLE.

Click Source Link

Document

Constant indicating that files matching the rule's pattern are accessible.

Usage

From source file:at.bestsolution.efxclipse.tooling.pde.java7.JavaFXClassPathExtender.java

License:Open Source License

private IClasspathEntry getEntry(IVMInstall vm, BundleDescription project) {
    IPath[] paths = BuildPathSupport.getFxJarPath(vm);
    if (paths == null) {
        return null;
    } else {/*w  ww . j av a  2 s .co  m*/
        List<IAccessRule> l = new ArrayList<IAccessRule>();
        for (ImportPackageSpecification i : project.getImportPackages()) {
            if (i.getName().startsWith("javafx")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_ACCESSIBLE));
            } else if (i.getName().startsWith("com.sun.browser")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.deploy")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.glass")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.javafx")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.media")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.openpisces")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.prism")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.scenario")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.t2k")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("com.sun.webpane")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            } else if (i.getName().startsWith("netscape.javascript")) {
                l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                        IAccessRule.K_DISCOURAGED));
            }
        }

        IClasspathAttribute[] extraAttributes = {
                JavaCore.newClasspathAttribute(IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME,
                        paths[1] == null || !paths[1].toFile().exists() ? BuildPathSupport.WEB_JAVADOC_LOCATION
                                : paths[1].toFile().toURI().toString()) };

        return JavaCore.newLibraryEntry(paths[0], null, null, l.toArray(new IAccessRule[0]), extraAttributes,
                false);
    }
}

From source file:at.bestsolution.efxclipse.tooling.pde.ui.classpath.JavaFXClassPathExtender.java

License:Open Source License

@Override
public List<IClasspathEntry> getInitialEntries(BundleDescription project) {
    for (String e : project.getExecutionEnvironments()) {
        IExecutionEnvironment env = EnvironmentsManager.getDefault().getEnvironment(e);

        if (env == null) {
            continue;
        }//from www .  ja  va2 s  .  co m

        IVMInstall vm = env.getDefaultVM();

        if (vm == null) {
            for (IVMInstall i : env.getCompatibleVMs()) {
                vm = i;
                break;
            }
        }

        if (vm != null) {
            IPath[] paths = BuildPathSupport.getFxJarPath(vm);
            if (paths == null) {
                return Collections.emptyList();
            } else {
                List<IAccessRule> l = new ArrayList<IAccessRule>();
                for (ImportPackageSpecification i : project.getImportPackages()) {
                    if (i.getName().startsWith("javafx")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_ACCESSIBLE));
                    } else if (i.getName().startsWith("com.sun.browser")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.deploy")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.glass")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.javafx")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.media")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.openpisces")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.prism")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.scenario")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.t2k")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("com.sun.webpane")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    } else if (i.getName().startsWith("netscape.javascript")) {
                        l.add(JavaCore.newAccessRule(new Path(i.getName().replace('.', '/') + "/*"),
                                IAccessRule.K_DISCOURAGED));
                    }
                }

                IClasspathAttribute[] extraAttributes = {
                        JavaCore.newClasspathAttribute(IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME,
                                paths[1] == null || !paths[1].toFile().exists()
                                        ? BuildPathSupport.WEB_JAVADOC_LOCATION
                                        : paths[1].toFile().toURI().toString()) };

                return Collections.singletonList(JavaCore.newContainerEntry(paths[0],
                        l.toArray(new IAccessRule[0]), extraAttributes, false));
            }
        }
    }
    return Collections.emptyList();
}

From source file:at.bestsolution.fxide.jdt.editor.JDTProposalComputer.java

License:Open Source License

@Override
public CompletableFuture<List<CompletionProposal>> compute() {
    List<CompletionProposal> rv = new ArrayList<>();
    try {/*from   w  w w .j  a va  2s  .  c om*/
        input.getCompilationUnit().codeComplete(editingContext.getCaretOffset(), new CompletionRequestor() {
            @Override
            public void acceptContext(CompletionContext context) {
                super.acceptContext(context);
            }

            @Override
            public void accept(org.eclipse.jdt.core.CompletionProposal proposal) {
                if ((proposal.getAccessibility() & IAccessRule.K_ACCESSIBLE) == IAccessRule.K_ACCESSIBLE) {
                    rv.add(new JDTCompletionProposal(input.getCompilationUnit().getJavaProject(), proposal));
                }
            }
        }, (IProgressMonitor) null);
    } catch (JavaModelException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return CompletableFuture.completedFuture(rv);
}

From source file:com.codenvy.ide.ext.java.server.core.launching.environments.DefaultAccessRuleParticipant.java

License:Open Source License

public IAccessRule[][] getAccessRules(IExecutionEnvironment environment, IVMInstallType vm,
        LibraryLocation[] libraries, IJavaProject project) {
    IAccessRule[][] allRules = null;//from www .jav  a 2  s  . c o m
    allRules = fgRules.get(environment.getId());
    if (allRules == null || allRules.length != libraries.length) {
        // if a different number of libraries, create a new set of rules
        String[] packages = retrieveSystemPackages(environment);
        IAccessRule[] packageRules = null;
        if (packages.length > 0) {
            packageRules = new IAccessRule[packages.length + 1];
            for (int i = 0; i < packages.length; i++) {
                packageRules[i] = JavaCore.newAccessRule(new Path(packages[i].replace('.', IPath.SEPARATOR)),
                        IAccessRule.K_ACCESSIBLE);
            }
            // add IGNORE_IF_BETTER flag in case another explicit entry allows access (see bug 228488)
            packageRules[packages.length] = JavaCore.newAccessRule(new Path("**/*"),
                    IAccessRule.K_NON_ACCESSIBLE | IAccessRule.IGNORE_IF_BETTER);
            //$NON-NLS-1$
        } else {
            packageRules = new IAccessRule[0];
        }
        allRules = new IAccessRule[libraries.length][];
        for (int i = 0; i < allRules.length; i++) {
            allRules[i] = packageRules;
        }
        fgRules.put(environment.getId(), allRules);
    }
    return allRules;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.ClasspathEntry.java

License:Open Source License

static IAccessRule[] decodeAccessRules(NodeList list) {
    if (list == null)
        return null;
    int length = list.getLength();
    if (length == 0)
        return null;
    IAccessRule[] result = new IAccessRule[length];
    int index = 0;
    for (int i = 0; i < length; i++) {
        Node accessRule = list.item(i);
        if (accessRule.getNodeType() == Node.ELEMENT_NODE) {
            Element elementAccessRule = (Element) accessRule;
            String pattern = elementAccessRule.getAttribute(TAG_PATTERN);
            if (pattern == null)
                continue;
            String tagKind = elementAccessRule.getAttribute(TAG_KIND);
            int kind;
            if (TAG_ACCESSIBLE.equals(tagKind))
                kind = IAccessRule.K_ACCESSIBLE;
            else if (TAG_NON_ACCESSIBLE.equals(tagKind))
                kind = IAccessRule.K_NON_ACCESSIBLE;
            else if (TAG_DISCOURAGED.equals(tagKind))
                kind = IAccessRule.K_DISCOURAGED;
            else/*from w w w  .  j  a  va2 s .c  o m*/
                continue;
            boolean ignoreIfBetter = "true".equals(elementAccessRule.getAttribute(TAG_IGNORE_IF_BETTER)); //$NON-NLS-1$
            result[index++] = new ClasspathAccessRule(new Path(pattern),
                    ignoreIfBetter ? kind | IAccessRule.IGNORE_IF_BETTER : kind);
        }
    }
    if (index != length)
        System.arraycopy(result, 0, result = new IAccessRule[index], 0, index);
    return result;
}

From source file:com.codenvy.ide.ext.java.server.internal.core.ClasspathEntry.java

License:Open Source License

public static IAccessRule[] getAccessRules(IPath[] accessibleFiles, IPath[] nonAccessibleFiles) {
    int accessibleFilesLength = accessibleFiles == null ? 0 : accessibleFiles.length;
    int nonAccessibleFilesLength = nonAccessibleFiles == null ? 0 : nonAccessibleFiles.length;
    int length = accessibleFilesLength + nonAccessibleFilesLength;
    if (length == 0)
        return null;
    IAccessRule[] accessRules = new IAccessRule[length];
    for (int i = 0; i < accessibleFilesLength; i++) {
        accessRules[i] = JavaCore.newAccessRule(accessibleFiles[i], IAccessRule.K_ACCESSIBLE);
    }/* ww  w .ja  v a  2 s  .c om*/
    for (int i = 0; i < nonAccessibleFilesLength; i++) {
        accessRules[accessibleFilesLength + i] = JavaCore.newAccessRule(nonAccessibleFiles[i],
                IAccessRule.K_NON_ACCESSIBLE);
    }
    return accessRules;
}

From source file:com.google.cloud.tools.eclipse.appengine.libraries.persistence.LibraryClasspathContainerSerializerTest.java

License:Apache License

private IAccessRule getAccessRule(final String pattern, final boolean accessible) {
    return new IAccessRule() {

        @Override/*w w w  .  java  2 s  .  c  om*/
        public boolean ignoreIfBetter() {
            return false;
        }

        @Override
        public IPath getPattern() {
            return new Path(pattern);
        }

        @Override
        public int getKind() {
            if (accessible) {
                return IAccessRule.K_ACCESSIBLE;
            } else {
                return IAccessRule.K_NON_ACCESSIBLE;
            }
        }
    };
}

From source file:com.google.cloud.tools.eclipse.appengine.libraries.repository.LibraryClasspathContainerResolverService.java

License:Apache License

private static IAccessRule[] getAccessRules(List<Filter> filters) {
    IAccessRule[] accessRules = new IAccessRule[filters.size()];
    int idx = 0;//w  w  w . j a va  2s .  c  om
    for (Filter filter : filters) {
        int accessRuleKind = filter.isExclude() ? IAccessRule.K_NON_ACCESSIBLE : IAccessRule.K_ACCESSIBLE;
        accessRules[idx++] = JavaCore.newAccessRule(new Path(filter.getPattern()), accessRuleKind);
    }
    return accessRules;
}

From source file:com.siteview.mde.internal.core.MDEClasspathContainer.java

License:Open Source License

private static synchronized IAccessRule getAccessibleRule(IPath path) {
    IAccessRule rule = (IAccessRule) ACCESSIBLE_RULES.get(path);
    if (rule == null) {
        rule = JavaCore.newAccessRule(path, IAccessRule.K_ACCESSIBLE);
        ACCESSIBLE_RULES.put(path, rule);
    }// w ww .  j  av  a  2 s .  c om
    return rule;
}

From source file:io.sarl.eclipse.util.JavaClasspathParser.java

License:Apache License

@SuppressWarnings({ "checkstyle:npathcomplexity", "checkstyle:innerassignment" })
private static IAccessRule[] decodeAccessRules(NodeList list) {
    if (list == null) {
        return null;
    }//from  w ww .jav a2s.com
    final int length = list.getLength();
    if (length == 0) {
        return null;
    }
    IAccessRule[] result = new IAccessRule[length];
    int index = 0;
    for (int i = 0; i < length; i++) {
        final Node accessRule = list.item(i);
        if (accessRule.getNodeType() == Node.ELEMENT_NODE) {
            final Element elementAccessRule = (Element) accessRule;
            final String pattern = elementAccessRule.getAttribute(ClasspathEntry.TAG_PATTERN);
            if (pattern == null) {
                continue;
            }
            final String tagKind = elementAccessRule.getAttribute(ClasspathEntry.TAG_KIND);
            final int kind;
            if (ClasspathEntry.TAG_ACCESSIBLE.equals(tagKind)) {
                kind = IAccessRule.K_ACCESSIBLE;
            } else if (ClasspathEntry.TAG_NON_ACCESSIBLE.equals(tagKind)) {
                kind = IAccessRule.K_NON_ACCESSIBLE;
            } else if (ClasspathEntry.TAG_DISCOURAGED.equals(tagKind)) {
                kind = IAccessRule.K_DISCOURAGED;
            } else {
                continue;
            }
            final boolean ignoreIfBetter = "true" //$NON-NLS-1$
                    .equals(elementAccessRule.getAttribute(ClasspathEntry.TAG_IGNORE_IF_BETTER));
            result[index++] = new ClasspathAccessRule(new Path(pattern),
                    ignoreIfBetter ? kind | IAccessRule.IGNORE_IF_BETTER : kind);
        }
    }
    if (index != length) {
        System.arraycopy(result, 0, result = new IAccessRule[index], 0, index);
    }
    return result;
}