Example usage for org.eclipse.jdt.internal.codeassist ISearchRequestor acceptConstructor

List of usage examples for org.eclipse.jdt.internal.codeassist ISearchRequestor acceptConstructor

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.codeassist ISearchRequestor acceptConstructor.

Prototype

public void acceptConstructor(int modifiers, char[] simpleTypeName, int parameterCount, char[] signature,
            char[][] parameterTypes, char[][] parameterNames, int typeModifiers, char[] packageName, int extraFlags,
            String path, AccessRestriction access);

Source Link

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.JavaSearchNameEnvironment.java

License:Open Source License

/**
 * Must be used only by CompletionEngine.
 * The progress monitor is used to be able to cancel completion operations
 *
 * Find constructor declarations that are defined
 * in the current environment and whose name starts with the
 * given prefix. The prefix is a qualified name separated by periods
 * or a simple name (ex. java.util.V or V).
 *
 * The constructors found are passed to one of the following methods:
 *    ISearchRequestor.acceptConstructor(...)
 *///from  w  w  w  .  j  a  va  2s  .  c  o m
public void findConstructorDeclarations(char[] prefix, boolean camelCaseMatch, final ISearchRequestor storage,
        IProgressMonitor monitor) {
    try {
        int lastDotIndex = CharOperation.lastIndexOf('.', prefix);
        char[] qualification, simpleName;
        if (lastDotIndex < 0) {
            qualification = null;
            if (camelCaseMatch) {
                simpleName = prefix;
            } else {
                simpleName = CharOperation.toLowerCase(prefix);
            }
        } else {
            qualification = CharOperation.subarray(prefix, 0, lastDotIndex);
            if (camelCaseMatch) {
                simpleName = CharOperation.subarray(prefix, lastDotIndex + 1, prefix.length);
            } else {
                simpleName = CharOperation
                        .toLowerCase(CharOperation.subarray(prefix, lastDotIndex + 1, prefix.length));
            }
        }

        IProgressMonitor progressMonitor = new IProgressMonitor() {
            boolean isCanceled = false;

            public void beginTask(String name, int totalWork) {
                // implements interface method
            }

            public void done() {
                // implements interface method
            }

            public void internalWorked(double work) {
                // implements interface method
            }

            public boolean isCanceled() {
                return this.isCanceled;
            }

            public void setCanceled(boolean value) {
                this.isCanceled = value;
            }

            public void setTaskName(String name) {
                // implements interface method
            }

            public void subTask(String name) {
                // implements interface method
            }

            public void worked(int work) {
                // implements interface method
            }
        };

        IRestrictedAccessConstructorRequestor constructorRequestor = new IRestrictedAccessConstructorRequestor() {
            public void acceptConstructor(int modifiers, char[] simpleTypeName, int parameterCount,
                    char[] signature, char[][] parameterTypes, char[][] parameterNames, int typeModifiers,
                    char[] packageName, int extraFlags, String path, AccessRestriction access) {

                storage.acceptConstructor(modifiers, simpleTypeName, parameterCount, signature, parameterTypes,
                        parameterNames, typeModifiers, packageName, extraFlags, path, access);
            }
        };

        int matchRule = SearchPattern.R_PREFIX_MATCH;
        if (camelCaseMatch)
            matchRule |= SearchPattern.R_CAMELCASE_MATCH;
        IndexManager indexManager = javaProject.getIndexManager();
        if (monitor != null) {
            while (indexManager.awaitingJobsCount() > 0) {
                try {
                    Thread.sleep(50); // indexes are not ready,  sleep 50ms...
                } catch (InterruptedException e) {
                    // Do nothing
                }
                if (monitor.isCanceled()) {
                    throw new OperationCanceledException();
                }
            }
            new BasicSearchEngine(indexManager).searchAllConstructorDeclarations(qualification, simpleName,
                    matchRule, getSearchScope(), constructorRequestor,
                    IJavaSearchConstants.FORCE_IMMEDIATE_SEARCH, progressMonitor);
        } else {
            try {
                new BasicSearchEngine(indexManager).searchAllConstructorDeclarations(qualification, simpleName,
                        matchRule, getSearchScope(), constructorRequestor,
                        IJavaSearchConstants.CANCEL_IF_NOT_READY_TO_SEARCH, progressMonitor);
            } catch (OperationCanceledException e) {
                // Do nothing
            }
        }
    } catch (JavaModelException e) {
        // Do nothing
    }
}

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

License:Open Source License

/**
 * Must be used only by CompletionEngine.
 * The progress monitor is used to be able to cancel completion operations
 *
 * Find constructor declarations that are defined
 * in the current environment and whose name starts with the
 * given prefix. The prefix is a qualified name separated by periods
 * or a simple name (ex. java.util.V or V).
 *
 * The constructors found are passed to one of the following methods:
 *    ISearchRequestor.acceptConstructor(...)
 *///  www  .j a va 2s.c om
public void findConstructorDeclarations(char[] prefix, boolean camelCaseMatch, final ISearchRequestor storage,
        IProgressMonitor monitor) {
    try {
        final String excludePath;
        if (this.unitToSkip != null && this.unitToSkip instanceof IJavaElement) {
            excludePath = ((IJavaElement) this.unitToSkip).getPath().toString();
        } else {
            excludePath = null;
        }

        int lastDotIndex = CharOperation.lastIndexOf('.', prefix);
        char[] qualification, simpleName;
        if (lastDotIndex < 0) {
            qualification = null;
            if (camelCaseMatch) {
                simpleName = prefix;
            } else {
                simpleName = CharOperation.toLowerCase(prefix);
            }
        } else {
            qualification = CharOperation.subarray(prefix, 0, lastDotIndex);
            if (camelCaseMatch) {
                simpleName = CharOperation.subarray(prefix, lastDotIndex + 1, prefix.length);
            } else {
                simpleName = CharOperation
                        .toLowerCase(CharOperation.subarray(prefix, lastDotIndex + 1, prefix.length));
            }
        }

        IProgressMonitor progressMonitor = new IProgressMonitor() {
            boolean isCanceled = false;

            public void beginTask(String name, int totalWork) {
                // implements interface method
            }

            public void done() {
                // implements interface method
            }

            public void internalWorked(double work) {
                // implements interface method
            }

            public boolean isCanceled() {
                return this.isCanceled;
            }

            public void setCanceled(boolean value) {
                this.isCanceled = value;
            }

            public void setTaskName(String name) {
                // implements interface method
            }

            public void subTask(String name) {
                // implements interface method
            }

            public void worked(int work) {
                // implements interface method
            }
        };

        IRestrictedAccessConstructorRequestor constructorRequestor = new IRestrictedAccessConstructorRequestor() {
            public void acceptConstructor(int modifiers, char[] simpleTypeName, int parameterCount,
                    char[] signature, char[][] parameterTypes, char[][] parameterNames, int typeModifiers,
                    char[] packageName, int extraFlags, String path, AccessRestriction access) {
                if (excludePath != null && excludePath.equals(path))
                    return;

                storage.acceptConstructor(modifiers, simpleTypeName, parameterCount, signature, parameterTypes,
                        parameterNames, typeModifiers, packageName, extraFlags, path, access);
            }
        };

        int matchRule = SearchPattern.R_PREFIX_MATCH;
        if (camelCaseMatch)
            matchRule |= SearchPattern.R_CAMELCASE_MATCH;
        if (monitor != null) {
            IndexManager indexManager = project.getIndexManager();
            while (indexManager.awaitingJobsCount() > 0) {
                try {
                    Thread.sleep(50); // indexes are not ready,  sleep 50ms...
                } catch (InterruptedException e) {
                    // Do nothing
                }
                if (monitor.isCanceled()) {
                    throw new OperationCanceledException();
                }
            }
            new BasicSearchEngine(project.getIndexManager(), project).searchAllConstructorDeclarations(
                    qualification, simpleName, matchRule, getSearchScope(), constructorRequestor,
                    FORCE_IMMEDIATE_SEARCH, progressMonitor);
        } else {
            try {
                new BasicSearchEngine(project.getIndexManager(), project).searchAllConstructorDeclarations(
                        qualification, simpleName, matchRule, getSearchScope(), constructorRequestor,
                        CANCEL_IF_NOT_READY_TO_SEARCH, progressMonitor);
            } catch (OperationCanceledException e) {
                // Do nothing
            }
        }
    } catch (JavaModelException e) {
        // Do nothing
    }
}

From source file:org.eclipse.che.jdt.internal.core.search.matching.JavaSearchNameEnvironment.java

License:Open Source License

/**
 * Must be used only by CompletionEngine.
 * The progress monitor is used to be able to cancel completion operations
 *
 * Find constructor declarations that are defined
 * in the current environment and whose name starts with the
 * given prefix. The prefix is a qualified name separated by periods
 * or a simple name (ex. java.util.V or V).
 *
 * The constructors found are passed to one of the following methods:
 *    ISearchRequestor.acceptConstructor(...)
 *///  w w w  .  j  av  a 2 s . com
public void findConstructorDeclarations(char[] prefix, boolean camelCaseMatch, final ISearchRequestor storage,
        IProgressMonitor monitor) {
    try {
        int lastDotIndex = CharOperation.lastIndexOf('.', prefix);
        char[] qualification, simpleName;
        if (lastDotIndex < 0) {
            qualification = null;
            if (camelCaseMatch) {
                simpleName = prefix;
            } else {
                simpleName = CharOperation.toLowerCase(prefix);
            }
        } else {
            qualification = CharOperation.subarray(prefix, 0, lastDotIndex);
            if (camelCaseMatch) {
                simpleName = CharOperation.subarray(prefix, lastDotIndex + 1, prefix.length);
            } else {
                simpleName = CharOperation
                        .toLowerCase(CharOperation.subarray(prefix, lastDotIndex + 1, prefix.length));
            }
        }

        IProgressMonitor progressMonitor = new IProgressMonitor() {
            boolean isCanceled = false;

            public void beginTask(String name, int totalWork) {
                // implements interface method
            }

            public void done() {
                // implements interface method
            }

            public void internalWorked(double work) {
                // implements interface method
            }

            public boolean isCanceled() {
                return this.isCanceled;
            }

            public void setCanceled(boolean value) {
                this.isCanceled = value;
            }

            public void setTaskName(String name) {
                // implements interface method
            }

            public void subTask(String name) {
                // implements interface method
            }

            public void worked(int work) {
                // implements interface method
            }
        };

        IRestrictedAccessConstructorRequestor constructorRequestor = new IRestrictedAccessConstructorRequestor() {
            public void acceptConstructor(int modifiers, char[] simpleTypeName, int parameterCount,
                    char[] signature, char[][] parameterTypes, char[][] parameterNames, int typeModifiers,
                    char[] packageName, int extraFlags, String path, AccessRestriction access) {

                storage.acceptConstructor(modifiers, simpleTypeName, parameterCount, signature, parameterTypes,
                        parameterNames, typeModifiers, packageName, extraFlags, path, access);
            }
        };

        int matchRule = SearchPattern.R_PREFIX_MATCH;
        if (camelCaseMatch)
            matchRule |= SearchPattern.R_CAMELCASE_MATCH;
        IndexManager indexManager = javaProject.getIndexManager();
        if (monitor != null) {
            while (indexManager.awaitingJobsCount() > 0) {
                try {
                    Thread.sleep(50); // indexes are not ready,  sleep 50ms...
                } catch (InterruptedException e) {
                    // Do nothing
                }
                if (monitor.isCanceled()) {
                    throw new OperationCanceledException();
                }
            }
            new BasicSearchEngine(indexManager, javaProject).searchAllConstructorDeclarations(qualification,
                    simpleName, matchRule, getSearchScope(), constructorRequestor,
                    IJavaSearchConstants.FORCE_IMMEDIATE_SEARCH, progressMonitor);
        } else {
            try {
                new BasicSearchEngine(indexManager, javaProject).searchAllConstructorDeclarations(qualification,
                        simpleName, matchRule, getSearchScope(), constructorRequestor,
                        IJavaSearchConstants.CANCEL_IF_NOT_READY_TO_SEARCH, progressMonitor);
            } catch (OperationCanceledException e) {
                // Do nothing
            }
        }
    } catch (JavaModelException e) {
        // Do nothing
    }
}