Package org.eclipse.jdt.core

Examples of org.eclipse.jdt.core.IJavaModel


  IPath projectPath = project.getFullPath();
  String projectPathString = projectPath.toString();
  addEnclosingProjectOrJar(projectPath);

  IClasspathEntry[] entries = javaProject.getResolvedClasspath();
  IJavaModel model = javaProject.getJavaModel();
  JavaModelManager.PerProjectInfo perProjectInfo = javaProject.getPerProjectInfo();
  for (int i = 0, length = entries.length; i < length; i++) {
    IClasspathEntry entry = entries[i];
    AccessRuleSet access = null;
    ClasspathEntry cpEntry = (ClasspathEntry) entry;
    if (referringEntry != null) {
      // Add only exported entries.
      // Source folder are implicitly exported.
      if (!entry.isExported() && entry.getEntryKind() != IClasspathEntry.CPE_SOURCE) {
        continue;
      }
      cpEntry = cpEntry.combineWith((ClasspathEntry)referringEntry);
//        cpEntry = ((ClasspathEntry)referringEntry).combineWith(cpEntry);
    }
    access = cpEntry.getAccessRuleSet();
    switch (entry.getEntryKind()) {
      case IClasspathEntry.CPE_LIBRARY:
        IClasspathEntry rawEntry = null;
        Map rootPathToRawEntries = perProjectInfo.rootPathToRawEntries;
        if (rootPathToRawEntries != null) {
          rawEntry = (IClasspathEntry) rootPathToRawEntries.get(entry.getPath());
        }
        if (rawEntry == null) break;
        rawKind: switch (rawEntry.getEntryKind()) {
          case IClasspathEntry.CPE_LIBRARY:
          case IClasspathEntry.CPE_VARIABLE:
            if ((includeMask & APPLICATION_LIBRARIES) != 0) {
              IPath path = entry.getPath();
              if (pathToAdd == null || pathToAdd.equals(path)) {
                Object target = JavaModel.getTarget(path, false/*don't check existence*/);
                if (target instanceof IFolder) // case of an external folder
                  path = ((IFolder) target).getFullPath();
                String pathToString = path.getDevice() == null ? path.toString() : path.toOSString();
                add(projectPath.toString(), "", pathToString, false/*not a package*/, access); //$NON-NLS-1$
                addEnclosingProjectOrJar(entry.getPath());
              }
            }
            break;
          case IClasspathEntry.CPE_CONTAINER:
            IClasspathContainer container = JavaCore.getClasspathContainer(rawEntry.getPath(), javaProject);
            if (container == null) break;
            switch (container.getKind()) {
              case IClasspathContainer.K_APPLICATION:
                if ((includeMask & APPLICATION_LIBRARIES) == 0) break rawKind;
                break;
              case IClasspathContainer.K_SYSTEM:
              case IClasspathContainer.K_DEFAULT_SYSTEM:
                if ((includeMask & SYSTEM_LIBRARIES) == 0) break rawKind;
                break;
              default:
                break rawKind;
            }
            IPath path = entry.getPath();
            if (pathToAdd == null || pathToAdd.equals(path)) {
              Object target = JavaModel.getTarget(path, false/*don't check existence*/);
              if (target instanceof IFolder) // case of an external folder
                path = ((IFolder) target).getFullPath();
              String pathToString = path.getDevice() == null ? path.toString() : path.toOSString();
              add(projectPath.toString(), "", pathToString, false/*not a package*/, access); //$NON-NLS-1$
              addEnclosingProjectOrJar(entry.getPath());
            }
            break;
        }
        break;
      case IClasspathEntry.CPE_PROJECT:
        if ((includeMask & REFERENCED_PROJECTS) != 0) {
          IPath path = entry.getPath();
          if (pathToAdd == null || pathToAdd.equals(path)) {
            JavaProject referencedProject = (JavaProject) model.getJavaProject(path.lastSegment());
            if (!projectsToBeAdded.contains(referencedProject)) { // do not recurse if depending project was used to create the scope
              add(referencedProject, null, includeMask, projectsToBeAdded, visitedProjects, cpEntry);
            }
          }
        }
View Full Code Here


      int varLength = this.variableNames.length;

      // gather classpath information for updating
      final HashMap affectedProjectClasspaths = new HashMap(5);
      IJavaModel model = getJavaModel();

      // filter out unmodified variables
      int discardCount = 0;
      for (int i = 0; i < varLength; i++){
        String variableName = this.variableNames[i];
        IPath oldPath = manager.variableGet(variableName); // if reentering will provide previous session value
        if (oldPath == JavaModelManager.VARIABLE_INITIALIZATION_IN_PROGRESS) {
          oldPath = null//33695 - cannot filter out restored variable, must update affected project to reset cached CP
        }
        if (oldPath != null && oldPath.equals(this.variablePaths[i])){
          this.variableNames[i] = null;
          discardCount++;
        }
      }
      if (discardCount > 0){
        if (discardCount == varLength) return;
        int changedLength = varLength - discardCount;
        String[] changedVariableNames = new String[changedLength];
        IPath[] changedVariablePaths = new IPath[changedLength];
        for (int i = 0, index = 0; i < varLength; i++){
          if (this.variableNames[i] != null){
            changedVariableNames[index] = this.variableNames[i];
            changedVariablePaths[index] = this.variablePaths[i];
            index++;
          }
        }
        this.variableNames = changedVariableNames;
        this.variablePaths = changedVariablePaths;
        varLength = changedLength;
      }

      if (isCanceled())
        return;

      IJavaProject[] projects = model.getJavaProjects();
      nextProject : for (int i = 0, projectLength = projects.length; i < projectLength; i++){
        JavaProject project = (JavaProject) projects[i];

        // check to see if any of the modified variables is present on the classpath
        IClasspathEntry[] classpath = project.getRawClasspath();
View Full Code Here

  IPath projectPath = project.getFullPath();
  String projectPathString = projectPath.toString();
  addEnclosingProjectOrJar(projectPath);

  IClasspathEntry[] entries = javaProject.getResolvedClasspath();
  IJavaModel model = javaProject.getJavaModel();
  JavaModelManager.PerProjectInfo perProjectInfo = javaProject.getPerProjectInfo();
  for (int i = 0, length = entries.length; i < length; i++) {
    IClasspathEntry entry = entries[i];
    AccessRuleSet access = null;
    ClasspathEntry cpEntry = (ClasspathEntry) entry;
    if (referringEntry != null) {
      // Add only exported entries.
      // Source folder are implicitly exported.
      if (!entry.isExported() && entry.getEntryKind() != IClasspathEntry.CPE_SOURCE) {
        continue;
      }
      cpEntry = cpEntry.combineWith((ClasspathEntry)referringEntry);
//        cpEntry = ((ClasspathEntry)referringEntry).combineWith(cpEntry);
    }
    access = cpEntry.getAccessRuleSet();
    switch (entry.getEntryKind()) {
      case IClasspathEntry.CPE_LIBRARY:
        IClasspathEntry rawEntry = null;
        Map rootPathToRawEntries = perProjectInfo.rootPathToRawEntries;
        if (rootPathToRawEntries != null) {
          rawEntry = (IClasspathEntry) rootPathToRawEntries.get(entry.getPath());
        }
        if (rawEntry == null) break;
        rawKind: switch (rawEntry.getEntryKind()) {
          case IClasspathEntry.CPE_LIBRARY:
          case IClasspathEntry.CPE_VARIABLE:
            if ((includeMask & APPLICATION_LIBRARIES) != 0) {
              IPath path = entry.getPath();
              if (pathToAdd == null || pathToAdd.equals(path)) {
                Object target = JavaModel.getTarget(path, false/*don't check existence*/);
                if (target instanceof IFolder) // case of an external folder
                  path = ((IFolder) target).getFullPath();
                String pathToString = path.getDevice() == null ? path.toString() : path.toOSString();
                add(projectPath.toString(), "", pathToString, false/*not a package*/, access); //$NON-NLS-1$
                addEnclosingProjectOrJar(entry.getPath());
              }
            }
            break;
          case IClasspathEntry.CPE_CONTAINER:
            IClasspathContainer container = JavaCore.getClasspathContainer(rawEntry.getPath(), javaProject);
            if (container == null) break;
            switch (container.getKind()) {
              case IClasspathContainer.K_APPLICATION:
                if ((includeMask & APPLICATION_LIBRARIES) == 0) break rawKind;
                break;
              case IClasspathContainer.K_SYSTEM:
              case IClasspathContainer.K_DEFAULT_SYSTEM:
                if ((includeMask & SYSTEM_LIBRARIES) == 0) break rawKind;
                break;
              default:
                break rawKind;
            }
            IPath path = entry.getPath();
            if (pathToAdd == null || pathToAdd.equals(path)) {
              Object target = JavaModel.getTarget(path, false/*don't check existence*/);
              if (target instanceof IFolder) // case of an external folder
                path = ((IFolder) target).getFullPath();
              String pathToString = path.getDevice() == null ? path.toString() : path.toOSString();
              add(projectPath.toString(), "", pathToString, false/*not a package*/, access); //$NON-NLS-1$
              addEnclosingProjectOrJar(entry.getPath());
            }
            break;
        }
        break;
      case IClasspathEntry.CPE_PROJECT:
        if ((includeMask & REFERENCED_PROJECTS) != 0) {
          IPath path = entry.getPath();
          if (pathToAdd == null || pathToAdd.equals(path)) {
            JavaProject referencedProject = (JavaProject) model.getJavaProject(path.lastSegment());
            if (!projectsToBeAdded.contains(referencedProject)) { // do not recurse if depending project was used to create the scope
              add(referencedProject, null, includeMask, projectsToBeAdded, visitedProjects, cpEntry);
            }
          }
        }
View Full Code Here

      int varLength = this.variableNames.length;

      // gather classpath information for updating
      final HashMap affectedProjectClasspaths = new HashMap(5);
      IJavaModel model = getJavaModel();

      // filter out unmodified variables
      int discardCount = 0;
      for (int i = 0; i < varLength; i++){
        String variableName = this.variableNames[i];
        IPath oldPath = manager.variableGet(variableName); // if reentering will provide previous session value
        if (oldPath == JavaModelManager.VARIABLE_INITIALIZATION_IN_PROGRESS) {
          oldPath = null//33695 - cannot filter out restored variable, must update affected project to reset cached CP
        }
        if (oldPath != null && oldPath.equals(this.variablePaths[i])){
          this.variableNames[i] = null;
          discardCount++;
        }
      }
      if (discardCount > 0){
        if (discardCount == varLength) return;
        int changedLength = varLength - discardCount;
        String[] changedVariableNames = new String[changedLength];
        IPath[] changedVariablePaths = new IPath[changedLength];
        for (int i = 0, index = 0; i < varLength; i++){
          if (this.variableNames[i] != null){
            changedVariableNames[index] = this.variableNames[i];
            changedVariablePaths[index] = this.variablePaths[i];
            index++;
          }
        }
        this.variableNames = changedVariableNames;
        this.variablePaths = changedVariablePaths;
        varLength = changedLength;
      }

      if (isCanceled())
        return;

      IJavaProject[] projects = model.getJavaProjects();
      nextProject : for (int i = 0, projectLength = projects.length; i < projectLength; i++){
        JavaProject project = (JavaProject) projects[i];

        // check to see if any of the modified variables is present on the classpath
        IClasspathEntry[] classpath = project.getRawClasspath();
View Full Code Here

              init = roots[i];
            }
          }
        }
      }
      IJavaModel model = (IJavaModel)project.getParent();
      IJavaProject[] projects = model.getJavaProjects();
      for(int i=0;i<projects.length;i++){
        if(!projects[i].equals(project)){
          rejectedElements.add(projects[i]);
        }
      }
View Full Code Here

    boolean indexArchives = InstaSearchPlugin.getBoolPref(PreferenceConstants.P_INDEX_ARCHIVES);
    if( ! indexArchives )
      return;
   
    try {
      IJavaModel javaModel = JavaCore.create(workspaceRoot);
     
      List<IPackageFragmentRoot> jars = getJars(javaModel);

      monitor.beginTask("Indexing JAR Source Attachements (" + jars.size() + ")", jars.size());
View Full Code Here

   * @throws JavaModelException
   */
  private IStorage getNonJavaResource(SearchResultDoc doc) throws JavaModelException {
   
    IWorkspaceRoot workspaceRoot = InstaSearchPlugin.getWorkspaceRoot();
    IJavaModel javaModel = JavaCore.create(workspaceRoot);
   
    String javaProjectName = doc.getProject().segment(0);
    IJavaProject javaProj = javaModel.getJavaProject(javaProjectName);
   
    if( !javaProj.isOpen() )
      javaProj.open(new NullProgressMonitor());
   
    javaModel.refreshExternalArchives(new IJavaElement[]{javaProj}, new NullProgressMonitor());
   
    String jarName = doc.getJarName();
   
    IPackageFragmentRoot[] roots = javaProj.getPackageFragmentRoots();
    IPackageFragmentRoot jar = null;
View Full Code Here

   * @throws JavaModelException
   */
  private IClassFile getClassFile(SearchResultDoc doc) throws Exception {
   
    IWorkspaceRoot workspaceRoot = InstaSearchPlugin.getWorkspaceRoot();
    IJavaModel javaModel = JavaCore.create(workspaceRoot);
   
    String javaProjectName = doc.getProject().segment(0);
    IJavaProject proj = javaModel.getJavaProject(javaProjectName);
   
    if( proj == null )
      throw new Exception("Project " + javaProjectName + " not found");
   
    if( !proj.isOpen() )
      proj.open(new NullProgressMonitor());
   
    javaModel.refreshExternalArchives(new IJavaElement[]{proj}, new NullProgressMonitor());
   
    IPath filePath = new Path(doc.getFilePath());
    String fileName = filePath.lastSegment();
   
    IPath jarPath = filePath.removeLastSegments(2); // remove pkg and filename
View Full Code Here

        plugin = null;
    }

    void prefStoreChanged() throws JavaModelException {
        IWorkspace workspace = ResourcesPlugin.getWorkspace();
        IJavaModel javaModel = JavaCore.create(workspace.getRoot());
        IJavaProject[] projects = javaModel.getJavaProjects();
        for (int i = 0; i < projects.length; i++) {
            List/* <IvyClasspathContainer> */containers = IvyClasspathUtil
                    .getIvyClasspathContainers(projects[i]);
            Iterator/* <IvyClasspathContainer> */itContainers = containers.iterator();
            while (itContainers.hasNext()) {
View Full Code Here

import org.eclipse.jdt.core.JavaModelException;

public class ResolveAllHandler extends AbstractHandler {

    public Object execute(ExecutionEvent event) throws ExecutionException {
        IJavaModel model = JavaCore.create(ResourcesPlugin.getWorkspace().getRoot());
        IJavaProject[] projects;
        try {
            projects = model.getJavaProjects();
        } catch (JavaModelException e) {
            // TODO deal with it properly
            return null;
        }
View Full Code Here

TOP

Related Classes of org.eclipse.jdt.core.IJavaModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.