/** * @return */ @SuppressWarnings("unchecked") protected StringBuilder imports() { // sort the imports by alphabeth Set myImports = new TreeSet(new OJPathNameComparator()); myImports.addAll(this.getImports()); // StringBuilder result = new StringBuilder(); Iterator it = myImports.iterator(); String prevPackageName = ""; while (it.hasNext()) { OJPathName path = (OJPathName) it.next(); if (!this.isInnerClass && this.getMyPackage().getPathName().equals(path.getHead())) { // do nothing, imported element is in same package } else { if (!path.getFirst().equals(prevPackageName)) { result.append("\n"); } result.append("import " + path.toString() + ";\n"); prevPackageName = path.getFirst(); } } return result; }
public OJClass findClass(OJPathName path){ OJPackage pkg = this.findLocalPackage(path.getFirst()); if(pkg == null){ return null; }else{ return pkg.findClass(path.getTail()); } } public OJPackage findPackage(OJPathName path){
public OJPackage findOrCreatePackage(OJPathName packageName){ OJPackage parent = findLocalPackage(packageName.getFirst()); if(parent == null){ parent = new OJPackage(packageName.getFirst()); addToRootPackages(parent); } OJPackage child = parent; Iterator<String> iter = packageName.getNames().subList(1, packageName.getNames().size()).iterator(); while(iter.hasNext()){ String name = iter.next(); child = (OJPackage) parent.findPackage(new OJPathName(name)); if(child == null){ child = new OJPackage(name); parent.addToSubpackages(child); } parent = child; } return child; } }
/** * Implements the user defined operation '+ findPackage( path: OJPathName ) * : OJPackage' * * @param path */ public OJPackage findPackage(OJPathName path) { return (path.isSingleName() ? this.findLocalPackage(path.getLast()) : this.findLocalPackage(path.getFirst()).findPackage( path.getTail())); }
public OJPackage findPackage(OJPathName path){ if(path.isSingleName()){ return this.findLocalPackage(path.getLast()); }else{ OJPackage lp = this.findLocalPackage(path.getFirst()); if(lp != null){ return lp.findPackage(path.getTail()); }else{ return null; } } } protected OJPackage findLocalPackage(String name){
/** * Implements the user defined operation '+ findClass( path: OJPathName ) : * OJClass' * * @param path */ public OJClass findClass(OJPathName path) { return (path.isSingleName() ? this.findLocalClass(path.getLast()) : this.findLocalPackage(path.getFirst()) .findClass(path.getTail())); }
/** * @param name * @return */ public OJPackage findPackage(OJPathName path) { if (path == null) return null; if (path.isSingleName()) { return findLocalPackage(path.getLast()); } else { OJPackage first = findLocalPackage(path.getFirst()); if (first != null) { return first.findPackage(path.getTail()); } } return null; }
/** * @param name * @return */ public OJInterface findInterface(OJPathName path) { if (path == null) return null; if (path.isSingleName()) { return findLocalInterface(path.getLast()); } else { OJPackage first = findLocalPackage(path.getFirst()); if (first != null) { return first.findInterface(path.getTail()); } } return null; }
/** * @param name * @return */ public OJClass findClass(OJPathName path) { if (path == null) return null; if (path.isSingleName()) { return findLocalClass(path.getLast()); } else { OJPackage first = findLocalPackage(path.getFirst()); if (first != null) { return first.findClass(path.getTail()); } } return null; }