private void addAll(List<OJPathName> types) { for (OJPathName type : types) { if (type != null) { this.addToImports(type); if (!type.getElementTypes().isEmpty()) { addAll(type.getElementTypes()); } } } }
private String elementTypesToJavaString() { StringBuilder result = new StringBuilder(); boolean first = true; Iterator it = getElementTypes().iterator(); while (it.hasNext()) { OJPathName elemType = (OJPathName) it.next(); if (!elemType.getLast().equals("void")) { if (first) { first = false; result.append("<"); } else { result.append(", "); } result.append(elemType.getCollectionTypeName()); } } if (result.length() != 0) result.append(">"); return result.toString(); }
public String getCollectionTypeName() { if (getElementTypes().isEmpty()) { return getLast(); } else { return getLast() + elementTypesToJavaString(); } }
public OJPathName getDeepCopy() { OJPathName result = new OJPathName(); result.setNames(new ArrayList(this.getNames())); List<OJPathName> elementTypes = getElementTypes(); for (OJPathName elementType : elementTypes) { OJPathName elementTypeCopy = elementType.getDeepCopy(); if (elementType.getLast().contains("extends")) { System.out.println(); } result.addToElementTypes(elementTypeCopy); } return result; }
public void renameAll(Set<OJPathName> renamePathNames, String newName) { if (getLast().charAt(0) == '?') { replaceTail(replaceAll(getLast(), renamePathNames, newName)); } else if (renamePathNames.contains(this)) { replaceTail(getLast() + newName); } for (OJPathName elementType : getElementTypes()) { elementType.renameAll(renamePathNames, newName); } }
if (!path.getElementTypes().isEmpty()) { addAll(path.getElementTypes());