/** * Returns a copy of this instance. True parts, i.e. associations marked * 'aggregate' or 'composite', and attributes, are copied as well. * References to other objects, i.e. associations not marked 'aggregate' or * 'composite', will not be copied. The returned copy will refer to the same * objects as the original (this) instance. */ public OJElement getCopy() { OJPackage result = new OJPackage(); this.copyInfoInto(result); return result; }
public static OJPathName getMetaClassPathName(Classifier clazz) { OJPackage ojPackage = new OJPackage(Namer.name(clazz.getNearestPackage()) + ".meta"); OJPathName result = ojPackage.getPathName().append(UmlgClassOperations.getMetaClassName(clazz)); return result; }
protected void copyDeepInfoInto(OJPackage owner, OJPackage copy) { super.copyDeepInfoInto(copy); Iterator classesIt = new ArrayList<OJClass>(getClasses()).iterator(); while (classesIt.hasNext()) { OJClass elem = (OJClass) classesIt.next(); copy.addToClasses(elem.getDeepCopy(copy)); } Iterator interfacesIt = new ArrayList<OJInterface>(getInterfaces()).iterator(); while (interfacesIt.hasNext()) { OJInterface elem = (OJInterface) interfacesIt.next(); copy.addToInterfaces(elem); } if (owner != null) { copy.setParent(owner); } Iterator subpackagesIt = new ArrayList<OJPackage>(getSubpackages()).iterator(); while (subpackagesIt.hasNext()) { OJPackage elem = (OJPackage) subpackagesIt.next(); copy.addToSubpackages(elem.getDeepCopy(owner)); } }
public OJPackage getDeepCopy(OJPackage owner) { OJPackage copy = new OJPackage(); copyDeepInfoInto(owner, copy); return copy; }
public OJPathName getPathName() { OJPathName result = null; if (getParent() != null) { result = this.getParent().getPathName().append(this.getName()); } else { result = new OJPathName(getName()); } return result; }
public void release() { setParent(null); this.packageInfos.clear(); for (OJClass ojClass : new ArrayList<OJClass>(getClasses())) { ojClass.release(); } for (OJPackage p : new ArrayList<OJPackage>(getSubpackages())) { p.release(); } }
@Override public void visitBefore(Model model) { OJPackage org = new OJPackage("org"); OJPackage tuml = new OJPackage("umlg"); tuml.setParent(org); OJPackage ojPackage = new OJPackage("restlet"); ojPackage.setParent(tuml); OJAnnotatedClass annotatedClass = new OJAnnotatedClass("RootServerResourceImpl"); annotatedClass.setSuperclass(UmlgRestletGenerationUtil.ServerResource); annotatedClass.setMyPackage(ojPackage); addToSource(annotatedClass); addDefaultConstructor(annotatedClass); addGetRootObjectRepresentation(model, annotatedClass); addOptionsRootObjectRepresentation(model, annotatedClass); addToRouterEnum(model, annotatedClass, "ROOT", "\"/umlgRoot\""); }
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; } }
while (classesIt.hasNext()) { OJClass elem = (OJClass) classesIt.next(); copy.addToClasses(elem); copy.addToInterfaces(elem); copy.setParent(getParent()); copy.addToSubpackages(elem);
public String toJavaString() { StringBuilder packInfo = new StringBuilder(); if (!getPathName().toJavaString().equals("")) { packInfo.append("package " + getPathName().toJavaString() + ";"); } return packInfo.toString(); }
public OJPackage(String name, OJPackage parent) { this(name); setParent(parent); }
public String toString() { return getPathName().toString(); }
private void createComponent(Model model) { OJAnnotatedClass component = new OJAnnotatedClass(getComponentName(model)); component.setSuperclass(UmlgRestletGenerationUtil.UmlgRestletComponent); OJPackage org = new OJPackage("org"); OJPackage tuml = new OJPackage("umlg", org); OJPackage restlet = new OJPackage(model.getName().toLowerCase(), tuml); component.setMyPackage(restlet); addToSource(component); addComponentMainMethod(model, component); addComponentAttachApplications(model, component); // addComponentDefaultConstructor(model, component); // addStop(component); }
private String imports() { StringBuilder sb = new StringBuilder(); for (OJPathName path : getImports()) { if (getMyPackage().getPathName().equals(path.getHead())) { // already visible } else { sb.append("import " + path.toString() + ";\n"); } } return sb.toString(); } private Collection<OJPathName> getImports() {
private void createApplication(Model model) { OJAnnotatedClass component = new OJAnnotatedClass(getApplicationName(model)); component.setSuperclass(UmlgRestletGenerationUtil.UmlgRestletApplication); OJPackage org = new OJPackage("org"); OJPackage tuml = new OJPackage("umlg", org); OJPackage restlet = new OJPackage(model.getName().toLowerCase(), tuml); component.setMyPackage(restlet); addToSource(component); // addApplicationInboundRootMethod(model, component); addApplicationDefaultConstructor(model, component); addAttachAll(model, component); addGetModelFileName(model, component); }
/** * Implements the user defined operation '+ getPathName() : OJPathName' */ public OJPathName getPathName(){ OJPackage myPackage = this.getMyPackage(); return myPackage.getPathName().append(this.getName()); } /**
@Override public void renameAll(Set<OJPathName> renamePathNames, String newName) { super.renameAll(renamePathNames, newName); outer.renameAll(renamePathNames, newName); classDeclaration.setMyPackage(new OJPackage("")); classDeclaration.renameAll(renamePathNames, newName); }
/** * Implements the user defined operation '+ getPathName() : OJPathName' */ public OJPathName getPathName() { return this.getParent().getPathName().append(this.getName()); }
public void visitBefore(Activity activity) { OJAnnotatedClass annotatedClass = new OJAnnotatedClass(Namer.name(activity)); OJPackage ojPackage = new OJPackage(Namer.name(activity.getNearestPackage())); annotatedClass.setMyPackage(ojPackage); addToSource(annotatedClass); }
/** * @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; }