public ClassFileWorkingCopy(AbstractClassFile classFile, WorkingCopyOwner owner) { super((PackageFragment) classFile.getParent(), sourceFileName(classFile), owner); this.classFile = classFile; } private static String sourceFileName(AbstractClassFile classFile) {
public ClassFileWorkingCopy(AbstractClassFile classFile, WorkingCopyOwner owner) { super((PackageFragment) classFile.getParent(), sourceFileName(classFile), owner); this.classFile = classFile; } private static String sourceFileName(AbstractClassFile classFile) {
/** * A class file has a corresponding resource unless it is contained * in a jar. * * @see IJavaElement */ @Override public IResource getCorrespondingResource() throws JavaModelException { IPackageFragmentRoot root= (IPackageFragmentRoot)getParent().getParent(); if (root.isArchive()) { return null; } else { return getUnderlyingResource(); } } public IJavaElement getElementAtConsideringSibling(int position) throws JavaModelException {
/** * A class file has a corresponding resource unless it is contained * in a jar. * * @see IJavaElement */ @Override public IResource getCorrespondingResource() throws JavaModelException { IPackageFragmentRoot root= (IPackageFragmentRoot)getParent().getParent(); if (root.isArchive()) { return null; } else { return getUnderlyingResource(); } } public IJavaElement getElementAtConsideringSibling(int position) throws JavaModelException {
@Override public IPath getPath() { PackageFragmentRoot root = getPackageFragmentRoot(); if (root.isArchive()) { return root.getPath(); } else { return getParent().getPath().append(getElementName()); } }
public IPath getPath() { PackageFragmentRoot root = getPackageFragmentRoot(); if (root.isArchive()) { return root.getPath(); } else { return getParent().getPath().append(getElementName()); } }
public IJavaElement getElementAtConsideringSibling(int position) throws JavaModelException { IPackageFragment fragment = (IPackageFragment)getParent(); PackageFragmentRoot root = (PackageFragmentRoot) fragment.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); SourceMapper mapper = root.getSourceMapper();
public IJavaElement getElementAtConsideringSibling(int position) throws JavaModelException { IPackageFragment fragment = (IPackageFragment)getParent(); PackageFragmentRoot root = (PackageFragmentRoot) fragment.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); SourceMapper mapper = root.getSourceMapper();
public byte[] getBytes() throws JavaModelException { JavaElement pkg = (JavaElement) getParent(); if (pkg instanceof JarPackageFragment) { JarPackageFragmentRoot root = (JarPackageFragmentRoot) pkg.getParent(); try { String entryName = Util.concatWith(((PackageFragment) pkg).names, getElementName(), '/'); entryName = root.getClassFilePath(entryName); return getClassFileContent(root, entryName); // Java 9 - The below exception is not thrown in new scheme of things. Could cause issues? // throw new JavaModelException(new JavaModelStatus(IJavaModelStatusConstants.ELEMENT_DOES_NOT_EXIST, this)); } catch (IOException ioe) { throw new JavaModelException(ioe, IJavaModelStatusConstants.IO_EXCEPTION); } catch (CoreException e) { if (e instanceof JavaModelException) { throw (JavaModelException)e; } else { throw new JavaModelException(e); } } } else { IFile file = (IFile) resource(); return Util.getResourceContentsAsByteArray(file); } } protected byte[] getClassFileContent(JarPackageFragmentRoot root, String className) throws CoreException, IOException {
@Override public byte[] getBytes() throws JavaModelException { JavaElement pkg = (JavaElement) getParent(); if (pkg instanceof JarPackageFragment) { JarPackageFragmentRoot root = (JarPackageFragmentRoot) pkg.getParent(); try { String entryName = Util.concatWith(((PackageFragment) pkg).names, getElementName(), '/'); entryName = root.getClassFilePath(entryName); return getClassFileContent(root, entryName); // Java 9 - The below exception is not thrown in new scheme of things. Could cause issues? // throw new JavaModelException(new JavaModelStatus(IJavaModelStatusConstants.ELEMENT_DOES_NOT_EXIST, this)); } catch (IOException ioe) { throw new JavaModelException(ioe, IJavaModelStatusConstants.IO_EXCEPTION); } catch (CoreException e) { if (e instanceof JavaModelException) { throw (JavaModelException)e; } else { throw new JavaModelException(e); } } } else { IFile file = (IFile) resource(); return Util.getResourceContentsAsByteArray(file); } } protected byte[] getClassFileContent(JarPackageFragmentRoot root, String className) throws CoreException, IOException {