Examples of PackageFragmentRoot


Examples of org.aspectj.org.eclipse.jdt.internal.core.PackageFragmentRoot

  // create a temporary info
  IBinaryType info;
  try {
    PackageFragment pkg = (PackageFragment) classFile.getParent();
    PackageFragmentRoot root = (PackageFragmentRoot) pkg.getParent();
    if (root.isArchive()) {
      // class file in a jar
      String classFileName = classFile.getElementName();
      String classFilePath = Util.concatWith(pkg.names, classFileName, '/');
      ZipFile zipFile = null;
      try {
View Full Code Here

Examples of org.aspectj.org.eclipse.jdt.internal.core.PackageFragmentRoot

  int length = roots.length;
  ClasspathLocation[] cpLocations = new ClasspathLocation[length];
  int index = 0;
  JavaModelManager manager = JavaModelManager.getJavaModelManager();
  for (int i = 0; i < length; i++) {
    PackageFragmentRoot root = (PackageFragmentRoot) roots[i];
    IPath path = root.getPath();
    try {
      if (root.isArchive()) {
        ZipFile zipFile = manager.getZipFile(path);
        cpLocations[index++] = new ClasspathJar(zipFile, ((ClasspathEntry) root.getRawClasspathEntry()).getAccessRuleSet());
      } else {
        Object target = JavaModel.getTarget(workspaceRoot, path, false);
        if (target == null) {
          // target doesn't exist any longer
          // just resize cpLocations
          System.arraycopy(cpLocations, 0, cpLocations = new ClasspathLocation[cpLocations.length-1], 0, index);
        } else if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
          cpLocations[index++] = new ClasspathSourceDirectory((IContainer)target, root.fullExclusionPatternChars(), root.fullInclusionPatternChars());
        } else {
          cpLocations[index++] = ClasspathLocation.forBinaryFolder((IContainer) target, false, ((ClasspathEntry) root.getRawClasspathEntry()).getAccessRuleSet());
        }
      }
    } catch (CoreException e1) {
      // problem opening zip file or getting root kind
      // consider root corrupt and ignore
View Full Code Here

Examples of org.aspectj.org.eclipse.jdt.internal.core.PackageFragmentRoot

        if (!project.isAccessible()
          || !project.hasNature(JavaCore.NATURE_ID)) continue;
        IJavaProject javaProject= this.javaModel.getJavaProject(project);
        IPackageFragmentRoot[] roots= javaProject.getPackageFragmentRoots();
        for (int j= 0, rootCount= roots.length; j < rootCount; j++) {
          PackageFragmentRoot root= (PackageFragmentRoot)roots[j];
          if (root.getPath().isPrefixOf(path) && !Util.isExcluded(path, root.fullInclusionPatternChars(), root.fullExclusionPatternChars(), false)) {
            return root;
          }
        }
      } catch (CoreException e) {
        // CoreException from hasNature - should not happen since we check that the project is accessible
View Full Code Here

Examples of org.aspectj.org.eclipse.jdt.internal.core.PackageFragmentRoot

      case IJavaElement.JAVA_PROJECT:
      case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        return false;

      case IJavaElement.PACKAGE_FRAGMENT:
        PackageFragmentRoot root = (PackageFragmentRoot)element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        IResource resource = element.getResource();
        return resource != null && isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars());
       
      case IJavaElement.COMPILATION_UNIT:
        root = (PackageFragmentRoot)element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        resource = element.getResource();
        if (resource == null)
          return false;
        if (isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars()))
          return true;
        return isExcluded(element.getParent());
       
      default:
        IJavaElement cu = element.getAncestor(IJavaElement.COMPILATION_UNIT);
View Full Code Here

Examples of org.eclipse.jdt.internal.core.PackageFragmentRoot

  // create a temporary info
  IBinaryType info;
  try {
    PackageFragment pkg = (PackageFragment) classFile.getParent();
    PackageFragmentRoot root = (PackageFragmentRoot) pkg.getParent();
    if (root.isArchive()) {
      // class file in a jar
      String classFileName = classFile.getElementName();
      String classFilePath = Util.concatWith(pkg.names, classFileName, '/');
      ZipFile zipFile = null;
      try {
View Full Code Here

Examples of org.eclipse.jdt.internal.core.PackageFragmentRoot

  }

  private static IPackageFragment getPackageFragment(char[] fileName, int pkgEnd, int jarSeparator) {
    if (jarSeparator != -1) {
      String jarMemento = new String(fileName, 0, jarSeparator);
      PackageFragmentRoot root = (PackageFragmentRoot) JavaCore.create(jarMemento);
      if (pkgEnd == jarSeparator)
        return root.getPackageFragment(CharOperation.NO_STRINGS);
      char[] pkgName = CharOperation.subarray(fileName, jarSeparator+1, pkgEnd);
      char[][] compoundName = CharOperation.splitOn('/', pkgName);
      return root.getPackageFragment(CharOperation.toStrings(compoundName));
    } else {
      Path path = new Path(new String(fileName, 0, pkgEnd));
      IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
      IContainer folder = path.segmentCount() == 1 ? workspaceRoot.getProject(path.lastSegment()) : (IContainer) workspaceRoot.getFolder(path);
      IJavaElement element = JavaCore.create(folder);
      if (element == null) return null;
      switch (element.getElementType()) {
        case IJavaElement.PACKAGE_FRAGMENT:
          return (IPackageFragment) element;
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
          return ((PackageFragmentRoot) element).getPackageFragment(CharOperation.NO_STRINGS);
        case IJavaElement.JAVA_PROJECT:
          PackageFragmentRoot root = (PackageFragmentRoot) ((IJavaProject) element).getPackageFragmentRoot(folder);
          if (root == null) return null;
          return root.getPackageFragment(CharOperation.NO_STRINGS);
      }
      return null;
    }
  }
View Full Code Here

Examples of org.eclipse.jdt.internal.core.PackageFragmentRoot

      case IJavaElement.JAVA_PROJECT:
      case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        return false;

      case IJavaElement.PACKAGE_FRAGMENT:
        PackageFragmentRoot root = (PackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        IResource resource = ((PackageFragment) element).resource();
        return resource != null && isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars());

      case IJavaElement.COMPILATION_UNIT:
        root = (PackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        resource = element.getResource();
        if (resource == null)
          return false;
        if (isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars()))
          return true;
        return isExcluded(element.getParent());

      default:
        IJavaElement cu = element.getAncestor(IJavaElement.COMPILATION_UNIT);
View Full Code Here

Examples of org.eclipse.jdt.internal.core.PackageFragmentRoot

     * This method change sourcemapper only if source path is not set on the  IPackageFragmentRoot
     * @param root
     */
    public static void installSourceMapper(final IPackageFragmentRoot root) {
        try {
            PackageFragmentRoot packageFragmentRoot = ((PackageFragmentRoot) root);
      if (!isSourceAttached(packageFragmentRoot) && (!isFromJRE(root) || WojServicesHelper.getDefault().isSunSupported())) {
                SourceMapper sourceMapper = packageFragmentRoot.getSourceMapper();
        if(sourceMapper == null ||!(sourceMapper instanceof WojSourceMapper)) {
                    packageFragmentRoot.setSourceMapper(newWojSourceMapper());
                }
            }
        } catch (JavaModelException e) {
            e.printStackTrace();
        }
View Full Code Here

Examples of org.eclipse.jdt.internal.core.PackageFragmentRoot

    }
    return false;
  }
 
  public static boolean isSourceAttached(IJavaElement javaElement)  {
    PackageFragmentRoot pfr = (PackageFragmentRoot) PDEJavaModelUtil.getPackageFragmentRoot(javaElement);
    if(pfr != null) {
      return isSourceAttached((PackageFragmentRoot)pfr);
    }
    return false;
  }
View Full Code Here

Examples of org.eclipse.jdt.internal.core.PackageFragmentRoot

  }

  public static IPackageFragment getPackageFragment(char[] fileName, int pkgEnd, int jarSeparator) {
    if (jarSeparator != -1) {
      String jarMemento = new String(fileName, 0, jarSeparator);
      PackageFragmentRoot root = (PackageFragmentRoot) JavaCore.create(jarMemento);
      if (pkgEnd == jarSeparator)
        return root.getPackageFragment(CharOperation.NO_STRINGS);
      char[] pkgName = CharOperation.subarray(fileName, jarSeparator+1, pkgEnd);
      char[][] compoundName = CharOperation.splitOn('/', pkgName);
      return root.getPackageFragment(CharOperation.toStrings(compoundName));
    } else {
      Path path = new Path(new String(fileName, 0, pkgEnd));
      IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
      IContainer folder = path.segmentCount() == 1 ? workspaceRoot.getProject(path.lastSegment()) : (IContainer) workspaceRoot.getFolder(path);
      IJavaElement element = JavaCore.create(folder);
      if (element == null) return null;
      switch (element.getElementType()) {
        case IJavaElement.PACKAGE_FRAGMENT:
          return (IPackageFragment) element;
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
          return ((PackageFragmentRoot) element).getPackageFragment(CharOperation.NO_STRINGS);
        case IJavaElement.JAVA_PROJECT:
          PackageFragmentRoot root = (PackageFragmentRoot) ((IJavaProject) element).getPackageFragmentRoot(folder);
          if (root == null) return null;
          return root.getPackageFragment(CharOperation.NO_STRINGS);
      }
      return null;
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.