/** * Compares the typeName to those stored in the typeNameMap. * If the short name of the typeName is unambiguous (only one package for * that short name in the Map), removes the package name and returns the * short name, else returns the whole thing. * * Assumes that typeName contains only a package name (optional) and a short name, * potentially with subtended brackets. * * (e.g. int -> int, java.util.Vector -> Vector, java.lang.Boolean[] -> Boolean[], etc.) */ protected static String adjustTypeName(String typeName, Map typeNameMap) { if (adjustmentNeededForType(typeName, typeNameMap)) { putTypeNameInMap(typeName, typeNameMap); return typeName.substring(packageName(typeName).length() + 1); } else { return typeName; } }
/** * Returns a set of java.lang.String type names included in longString. * Will only look for ValueHolder, java.util collection types, and TopLink * indirect collection types. * All other searches too intractable at this point. */ protected static Set parseForTypeNames(String longString) { Set typeNames = new HashSet(); if (longString != null) { typeNames.addAll(parseForTypeNamesInPackage(longString, JAVA_LANG_PACKAGE_NAME)); typeNames.addAll(parseForTypeNamesInPackage(longString, JAVA_UTIL_PACKAGE_NAME)); typeNames.addAll(parseForTypeNamesInPackage(longString, TOPLINK_INDIRECTION_PACKAGE_NAME)); } return typeNames; }
private static boolean adjustmentNeededForType(String typeName, Map typeNameMap) { if ((typeName == null) || typeName.equals("")) { return false; } if (packageName(typeName).length() == 0) { return false; } Set packages = (Set)typeNameMap.get(shortName(typeName)); return (packages == null) || (packages.size() <= 1); }
/** * Write the code out to the generator's stream. */ public void write(CodeGenerator generator) { if (getComment().length() > 0) { generator.writeln("/**"); String comment = getComment(); String cr = org.eclipse.persistence.internal.helper.Helper.cr(); int lastLineIndex = 0; int nextLineIndex = comment.indexOf(cr); while (nextLineIndex != -1) { generator.write(" * "); generator.write(comment.substring(lastLineIndex, nextLineIndex + cr.length())); lastLineIndex = nextLineIndex + cr.length(); nextLineIndex = comment.indexOf(cr, lastLineIndex); } generator.write(" * "); generator.writeln(comment.substring(lastLineIndex, comment.length())); generator.writeln(" */"); generator.cr(); } getAccessLevel().write(generator); generator.write(" "); writeBody(generator); }
public String toString() { CodeGenerator generator = new CodeGenerator(); write(generator); return generator.toString(); }
/** * Write the code out to the generator's stream. */ public void write(CodeGenerator generator) { if (getComment().length() > 0) { generator.writeln("/**"); String comment = getComment(); String cr = org.eclipse.persistence.internal.helper.Helper.cr(); int lastLineIndex = 0; int nextLineIndex = comment.indexOf(cr); while (nextLineIndex != -1) { generator.write(" * "); generator.write(comment.substring(lastLineIndex, nextLineIndex + cr.length())); lastLineIndex = nextLineIndex + cr.length(); nextLineIndex = comment.indexOf(cr, lastLineIndex); } generator.write(" * "); generator.writeln(comment.substring(lastLineIndex, comment.length())); generator.writeln(" */"); generator.cr(); } getAccessLevel().write(generator); generator.write(" "); writeBody(generator); }
public String toString() { CodeGenerator generator = new CodeGenerator(); write(generator); return generator.toString(); }
/** * Compares the typeName to those stored in the typeNameMap. * If the short name of the typeName is unambiguous (only one package for * that short name in the Map), removes the package name and returns the * short name, else returns the whole thing. * * Assumes that typeName contains only a package name (optional) and a short name, * potentially with subtended brackets. * * (e.g. int -> int, java.util.Vector -> Vector, java.lang.Boolean[] -> Boolean[], etc.) */ protected static String adjustTypeName(String typeName, Map typeNameMap) { if (adjustmentNeededForType(typeName, typeNameMap)) { putTypeNameInMap(typeName, typeNameMap); return typeName.substring(packageName(typeName).length() + 1); } else { return typeName; } }
/** * Write the code out to the generator's stream. */ public void write(CodeGenerator generator) { if (getComment().length() > 0) { generator.writeln("/**"); String comment = getComment(); String cr = org.eclipse.persistence.internal.helper.Helper.cr(); int lastLineIndex = 0; int nextLineIndex = comment.indexOf(cr); while (nextLineIndex != -1) { generator.write(" * "); generator.write(comment.substring(lastLineIndex, nextLineIndex + cr.length())); lastLineIndex = nextLineIndex + cr.length(); nextLineIndex = comment.indexOf(cr, lastLineIndex); } generator.write(" * "); generator.writeln(comment.substring(lastLineIndex, comment.length())); generator.writeln(" */"); generator.cr(); } getAccessLevel().write(generator); generator.write(" "); writeBody(generator); }
private static boolean adjustmentNeededForType(String typeName, Map typeNameMap) { if ((typeName == null) || typeName.equals("")) { return false; } if (packageName(typeName).length() == 0) { return false; } Set packages = (Set)typeNameMap.get(shortName(typeName)); return (packages == null) || (packages.size() <= 1); }
public String toString() { CodeGenerator generator = new CodeGenerator(); write(generator); return generator.toString(); }
/** * Returns a set of java.lang.String type names included in longString. * Will only look for ValueHolder, java.util collection types, and TopLink * indirect collection types. * All other searches too intractable at this point. */ protected static Set parseForTypeNames(String longString) { Set typeNames = new HashSet(); if (longString != null) { typeNames.addAll(parseForTypeNamesInPackage(longString, JAVA_LANG_PACKAGE_NAME)); typeNames.addAll(parseForTypeNamesInPackage(longString, JAVA_UTIL_PACKAGE_NAME)); typeNames.addAll(parseForTypeNamesInPackage(longString, TOPLINK_INDIRECTION_PACKAGE_NAME)); } return typeNames; }
/** * Compares the typeName to those stored in the typeNameMap. * If the short name of the typeName is unambiguous (only one package for * that short name in the Map), removes the package name and returns the * short name, else returns the whole thing. * * Assumes that typeName contains only a package name (optional) and a short name, * potentially with subtended brackets. * * (e.g. int -> int, java.util.Vector -> Vector, java.lang.Boolean[] -> Boolean[], etc.) */ protected static String adjustTypeName(String typeName, Map typeNameMap) { if (adjustmentNeededForType(typeName, typeNameMap)) { putTypeNameInMap(typeName, typeNameMap); return typeName.substring(packageName(typeName).length() + 1); } else { return typeName; } }
private static boolean adjustmentNeededForType(String typeName, Map typeNameMap) { if ((typeName == null) || typeName.equals("")) { return false; } if (packageName(typeName).length() == 0) { return false; } Set packages = (Set)typeNameMap.get(shortName(typeName)); return (packages == null) || (packages.size() <= 1); }
/** * Write the code out to the generator's stream. */ public void write(CodeGenerator generator) { if (getPackageName().length() > 0) { generator.write("package "); generator.write(getPackageName()); generator.writeln(";"); generator.cr(); } for (Enumeration importsEnum = getImports().elements(); importsEnum.hasMoreElements();) { String importLine = (String)importsEnum.nextElement(); generator.write("import "); generator.write(importLine); generator.writeln(";"); } if (!getImports().isEmpty()) { generator.cr(); } super.write(generator); }
/** * Returns a set of java.lang.String type names included in longString. * Will only look for ValueHolder, java.util collection types, and TopLink * indirect collection types. * All other searches too intractable at this point. */ protected static Set parseForTypeNames(String longString) { Set typeNames = new HashSet(); if (longString != null) { typeNames.addAll(parseForTypeNamesInPackage(longString, JAVA_LANG_PACKAGE_NAME)); typeNames.addAll(parseForTypeNamesInPackage(longString, JAVA_UTIL_PACKAGE_NAME)); typeNames.addAll(parseForTypeNamesInPackage(longString, TOPLINK_INDIRECTION_PACKAGE_NAME)); } return typeNames; }
/** * Used for calculating imports. @see org.eclipse.persistence.internal.codegen.ClassDefinition#calculateImports() */ protected static void putTypeNameInMap(String typeName, Map typeNameMap) { if ((typeName == null) || typeName.equals("")) { return; } String shortName = shortName(typeName); String packageName = packageName(typeName); if (packageName.length() > 0) { Set packageNames; if (typeNameMap.get(shortName) == null) { packageNames = new HashSet(); typeNameMap.put(shortName, packageNames); } else { packageNames = (Set)typeNameMap.get(shortName); } // There is no package name. The package is the default package. // Do nothing, as neither an import is needed, nor does the class need to be unqualified. if (!packageNames.contains(packageName)) { packageNames.add(packageName); } } }
/** * Write the code out to the generator's stream. */ public void write(CodeGenerator generator) { if (getPackageName().length() > 0) { generator.write("package "); generator.write(getPackageName()); generator.writeln(";"); generator.cr(); } for (Enumeration importsEnum = getImports().elements(); importsEnum.hasMoreElements();) { String importLine = (String)importsEnum.nextElement(); generator.write("import "); generator.write(importLine); generator.writeln(";"); } if (!getImports().isEmpty()) { generator.cr(); } super.write(generator); }
/** * Used for calculating imports. @see org.eclipse.persistence.internal.codegen.ClassDefinition#calculateImports() */ protected static void putTypeNameInMap(String typeName, Map typeNameMap) { if ((typeName == null) || typeName.equals("")) { return; } String shortName = shortName(typeName); String packageName = packageName(typeName); if (packageName.length() > 0) { Set packageNames; if (typeNameMap.get(shortName) == null) { packageNames = new HashSet(); typeNameMap.put(shortName, packageNames); } else { packageNames = (Set)typeNameMap.get(shortName); } // There is no package name. The package is the default package. // Do nothing, as neither an import is needed, nor does the class need to be unqualified. if (!packageNames.contains(packageName)) { packageNames.add(packageName); } } }
/** * Write the code out to the generator's stream. */ @Override public void write(CodeGenerator generator) { if (getPackageName().length() > 0) { generator.write("package "); generator.write(getPackageName()); generator.writeln(";"); generator.cr(); } for (Enumeration importsEnum = getImports().elements(); importsEnum.hasMoreElements();) { String importLine = (String)importsEnum.nextElement(); generator.write("import "); generator.write(importLine); generator.writeln(";"); } if (!getImports().isEmpty()) { generator.cr(); } super.write(generator); }