List of usage examples for org.eclipse.jdt.internal.core.util Util concatWith
public static final String concatWith(String[] array, char separator)
From source file:com.codenvy.ide.ext.java.server.internal.core.builder.ClasspathJar.java
License:Open Source License
@Override public void findPackages(String[] name, ISearchRequestor requestor) { SimpleSet knownPackageNames = getKnownPackages(); for (Object value : knownPackageNames.values) { if (value == null) { continue; }//from w w w . j a v a2 s . co m String pkg = value.toString(); String[] pkgName = Util.splitOn('/', pkg, 0, pkg.length()); if (pkgName != null && Util.startsWithIgnoreCase(pkgName, name, true)) { requestor.acceptPackage(Util.concatWith(pkgName, '.').toCharArray()); } } }
From source file:com.codenvy.ide.ext.java.server.internal.core.search.JavaSearchScope.java
License:Open Source License
/** * Add an element to the java search scope. * * @param element//from w w w. j a v a 2 s .c o m * The element we want to add to current java search scope * @throws org.eclipse.jdt.core.JavaModelException * May happen if some Java Model info are not available */ public void add(IJavaElement element) throws JavaModelException { IPath containerPath = null; String containerPathToString = null; PackageFragmentRoot root = null; int includeMask = SOURCES | APPLICATION_LIBRARIES | SYSTEM_LIBRARIES; switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: // a workspace sope should be used break; case IJavaElement.JAVA_PROJECT: add((JavaProject) element, null, includeMask, new HashSet(2), new HashSet(2), null); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: root = (PackageFragmentRoot) element; IPath rootPath = root.internalPath(); containerPath = root.getKind() == IPackageFragmentRoot.K_SOURCE ? root.getParent().getPath() : rootPath; containerPathToString = containerPath.getDevice() == null ? containerPath.toString() : containerPath.toOSString(); IResource rootResource = root.resource(); String projectPath = root.getJavaProject().getPath().toString(); if (rootResource != null && rootResource.isAccessible()) { String relativePath = Util.relativePath(rootResource.getFullPath(), containerPath.segmentCount()); add(projectPath, relativePath, containerPathToString, false/*not a package*/, null); } else { add(projectPath, "", containerPathToString, false/*not a package*/, null); //$NON-NLS-1$ } break; case IJavaElement.PACKAGE_FRAGMENT: root = (PackageFragmentRoot) element.getParent(); projectPath = root.getJavaProject().getPath().toString(); if (root.isArchive()) { String relativePath = Util.concatWith(((PackageFragment) element).names, '/'); containerPath = root.getPath(); containerPathToString = containerPath.getDevice() == null ? containerPath.toString() : containerPath.toOSString(); add(projectPath, relativePath, containerPathToString, true/*package*/, null); } else { IResource resource = ((JavaElement) element).resource(); if (resource != null) { if (resource.isAccessible()) { containerPath = root.getKind() == IPackageFragmentRoot.K_SOURCE ? root.getParent().getPath() : root.internalPath(); } else { // for working copies, get resource container full path containerPath = resource.getParent().getFullPath(); } containerPathToString = containerPath.getDevice() == null ? containerPath.toString() : containerPath.toOSString(); String relativePath = Util.relativePath(resource.getFullPath(), containerPath.segmentCount()); add(projectPath, relativePath, containerPathToString, true/*package*/, null); } } break; default: // remember sub-cu (or sub-class file) java elements if (element instanceof IMember) { if (this.elements == null) { this.elements = new ArrayList(); } this.elements.add(element); } root = (PackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); projectPath = root.getJavaProject().getPath().toString(); String relativePath; if (root.getKind() == IPackageFragmentRoot.K_SOURCE) { containerPath = root.getParent().getPath(); relativePath = Util.relativePath(getPath(element, false/*full path*/), 1/*remove project segment*/); } else { containerPath = root.internalPath(); relativePath = getPath(element, true/*relative path*/).toString(); } containerPathToString = containerPath.getDevice() == null ? containerPath.toString() : containerPath.toOSString(); add(projectPath, relativePath, containerPathToString, false/*not a package*/, null); } if (root != null) addEnclosingProjectOrJar( root.getKind() == IPackageFragmentRoot.K_SOURCE ? root.getParent().getPath() : root.getPath()); }
From source file:com.codenvy.ide.ext.java.server.internal.core.search.JavaSearchScope.java
License:Open Source License
private IPath getPath(IJavaElement element, boolean relativeToRoot) { switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: return Path.EMPTY; case IJavaElement.JAVA_PROJECT: return element.getPath(); case IJavaElement.PACKAGE_FRAGMENT_ROOT: if (relativeToRoot) return Path.EMPTY; return element.getPath(); case IJavaElement.PACKAGE_FRAGMENT: String relativePath = Util.concatWith(((PackageFragment) element).names, '/'); return getPath(element.getParent(), relativeToRoot).append(new Path(relativePath)); case IJavaElement.COMPILATION_UNIT: case IJavaElement.CLASS_FILE: return getPath(element.getParent(), relativeToRoot).append(new Path(element.getElementName())); default:/*from www . j a va 2s.c o m*/ return getPath(element.getParent(), relativeToRoot); } }
From source file:org.eclipse.jdt.internal.core.CopyResourceElementsOperation.java
License:Open Source License
private TextEdit updateNonJavaContent(ICompilationUnit cu, String[] destPackageName, String[] currPackageName, String newName) throws JavaModelException { // package statement IPackageDeclaration[] packageDecls = cu.getPackageDeclarations(); boolean doPackage = !Util.equalArraysOrNull(currPackageName, destPackageName); boolean doName = newName != null; MultiTextEdit multiEdit = new MultiTextEdit(); if (doPackage) { if (packageDecls.length == 1) { ISourceRange packageRange = packageDecls[0].getSourceRange(); if (destPackageName == null || destPackageName.length == 0) { // move to default package multiEdit.addChild(new DeleteEdit(packageRange.getOffset(), packageRange.getLength())); } else { multiEdit.addChild(new ReplaceEdit(packageRange.getOffset(), packageRange.getLength(), "package " + Util.concatWith(destPackageName, '.'))); //$NON-NLS-1$ }/*from w ww . j a va 2s. co m*/ } else { // move from default package // we don't keep track of comments, so we don't know where they start. Just add the package declaration at location 0 multiEdit.addChild(new InsertEdit(0, "package " + Util.concatWith(destPackageName, '.') + "\n")); //$NON-NLS-1$//$NON-NLS-2$ } } if (doName) { int dotIndex = cu.getElementName().indexOf('.'); dotIndex = dotIndex == -1 ? cu.getElementName().length() : dotIndex; String oldTypeName = cu.getElementName().substring(0, dotIndex); dotIndex = newName.indexOf('.'); dotIndex = dotIndex == -1 ? newName.length() : dotIndex; String newTypeName = newName.substring(0, dotIndex); IType type = cu.getType(oldTypeName); if (type.exists()) { ISourceRange nameRange = type.getNameRange(); // main type can be implicitly defined, so check offsets if (nameRange.getOffset() > 0 && nameRange.getLength() > 0 && oldTypeName.length() == nameRange.getLength()) { multiEdit.addChild(new ReplaceEdit(nameRange.getOffset(), nameRange.getLength(), newTypeName)); } IJavaElement[] children = type.getChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getElementType() == IJavaElement.METHOD) { IMethod method = (IMethod) children[i]; if (method.isConstructor()) { nameRange = method.getNameRange(); // main type can be implicitly defined, so check offsets if (nameRange.getOffset() > 0 && nameRange.getLength() > 0) { multiEdit.addChild( new ReplaceEdit(nameRange.getOffset(), nameRange.getLength(), newTypeName)); } } } } } } return multiEdit; }
From source file:org.eclipse.jdt.internal.core.PackageFragment.java
License:Open Source License
public String getElementName() { if (this.names.length == 0) return DEFAULT_PACKAGE_NAME; return Util.concatWith(this.names, '.'); }
From source file:org.eclipse.objectteams.otdt.internal.debug.adaptor.launching.PDELaunchingAdaptor.java
License:Open Source License
static String extendVMArguments(String args, ISharedPluginModel hookModel, String mode) { String[] otArgss = getOTArgs(mode); if (otArgss == null) return args; String otArgs = Util.concatWith(otArgss, ' '); if (args == null || args.length() == 0) return otArgs; return args + ' ' + otArgs; }