/** * Adds a enumeration value to the specified enumeration name. If no enumeration class is found, then a new * enumeration class will be created. * * @param enumName * the enumeration class name. * @param enumValue * the new enumeration value. */ public void addEnumValue(final String enumName, final String enumValue) { for (MetadataEnum instance : enumList) { if (instance.getName().equals(enumName) && instance.getNamespace().equals(getCurrentNamespace())) { instance.addValue(enumValue); return; } } final MetadataEnum newEnum = new MetadataEnum(enumName); newEnum.addValue(enumValue); newEnum.setNamespace(getCurrentNamespace()); newEnum.setSchemaName(getCurrentSchmema()); newEnum.setPackageApi(getCurrentPackageApi()); enumList.add(newEnum); }
/** * Returns true, if the given string argument represents a enumeration class. * * @param elementName * @return true, if the string represents a enumeration, otherwise false. */ public boolean isEnum(final String elementType) { final String namespace = splitElementType(elementType)[0]; final String localname = splitElementType(elementType)[1]; boolean isEnum = false; for (final MetadataEnum metadataEnum : metadata.getEnumList()) { if (metadataEnum.getName().equals(localname) && metadataEnum.getNamespace().equals(namespace)) { isEnum = true; break; } } return isEnum; }
final Element enumElement = doc.createElement("enum"); final Attr attrName = doc.createAttribute("name"); attrName.setValue(metadataEnum.getName()); enumElement.setAttributeNode(attrName); attrNamespace.setValue(metadataEnum.getNamespace()); enumElement.setAttributeNode(attrNamespace); attrSchemaName.setValue(metadataEnum.getSchemaName()); enumElement.setAttributeNode(attrSchemaName); attrPackage.setValue(metadataEnum.getPackageApi()); enumElement.setAttributeNode(attrPackage); enumElement.setAttributeNode(attrDocumentation); for (String value : metadataEnum.getValueList()) { final Element valueElement = doc.createElement("value"); valueElement.setTextContent(value);
public String getFqnClass(final MetadataElement element) { final String namespace = splitElementType(element.getType())[0]; final String localname = splitElementType(element.getType())[1]; // search in all enumeration for (final MetadataEnum metadataEnum : metadata.getEnumList()) { if (metadataEnum.getName().equals(localname) && metadataEnum.getNamespace().equals(namespace)) { return metadataEnum.getPackageApi() + "." + getPascalizeCase(metadataEnum.getName()); } } // search in all classes for (final MetadataItem metadataClass : metadata.getClassList()) { if (metadataClass.getName().equals(localname) && metadataClass.getNamespace().equals(namespace)) { return metadataClass.getPackageApi() + "." + getPascalizeCase(metadataClass.getName()); } } return null; }
/** * Generates all enumeration classes. * * @param metadata * @throws JClassAlreadyExistsException * @throws IOException */ public void generateEnums() throws JClassAlreadyExistsException, IOException { final JCodeModel cm = new JCodeModel(); for (final MetadataEnum metadataEnum : metadata.getEnumList()) { final String fqnEnum = metadataEnum.getPackageApi() + "." + getPascalizeCase(metadataEnum.getName()); final JDefinedClass dc = cm._class(fqnEnum, ClassType.ENUM); final JDocComment javaDocComment = dc.javadoc(); final Map<String, String> part = javaDocComment.addXdoclet("author"); part.put("<a href", "'mailto:ralf.battenfeld@bluewin.ch'>Ralf Battenfeld</a>"); for (final String enumConstant : metadataEnum.getValueList()) { dc.enumConstant(getEnumConstantName(enumConstant)); } final JMethod toStringMethod = dc.method(1, String.class, "toString"); toStringMethod.body()._return(JExpr.direct("name().substring(1)")); } final File file = new File("./src/test/java"); file.mkdirs(); cm.build(file); }
sb.append(LINE); sb.append(NEWLINE); sb.append("Enum: " + enumItem.getName()); sb.append(NEWLINE); for (String enumValue : enumItem.getValueList()) { sb.append(" Value : " + enumValue); sb.append(NEWLINE);
final Element enumElement = doc.createElement("enum"); final Attr attrName = doc.createAttribute("name"); attrName.setValue(metadataEnum.getName()); enumElement.setAttributeNode(attrName); attrNamespace.setValue(metadataEnum.getNamespace()); enumElement.setAttributeNode(attrNamespace); attrSchemaName.setValue(metadataEnum.getSchemaName()); enumElement.setAttributeNode(attrSchemaName); attrPackage.setValue(metadataEnum.getPackageApi()); enumElement.setAttributeNode(attrPackage); enumElement.setAttributeNode(attrDocumentation); for (String value : metadataEnum.getValueList()) { final Element valueElement = doc.createElement("value"); valueElement.setTextContent(value);
public String getFqnClass(final MetadataElement element) { final String namespace = splitElementType(element.getType())[0]; final String localname = splitElementType(element.getType())[1]; // search in all enumeration for (final MetadataEnum metadataEnum : metadata.getEnumList()) { if (metadataEnum.getName().equals(localname) && metadataEnum.getNamespace().equals(namespace)) { return metadataEnum.getPackageApi() + "." + getPascalizeCase(metadataEnum.getName()); } } // search in all classes for (final MetadataItem metadataClass : metadata.getClassList()) { if (metadataClass.getName().equals(localname) && metadataClass.getNamespace().equals(namespace)) { return metadataClass.getPackageApi() + "." + getPascalizeCase(metadataClass.getName()); } } return null; }
/** * Generates all enumeration classes. * * @param metadata * @throws JClassAlreadyExistsException * @throws IOException */ public void generateEnums() throws JClassAlreadyExistsException, IOException { final JCodeModel cm = new JCodeModel(); for (final MetadataEnum metadataEnum : metadata.getEnumList()) { final String fqnEnum = metadataEnum.getPackageApi() + "." + getPascalizeCase(metadataEnum.getName()); final JDefinedClass dc = cm._class(fqnEnum, ClassType.ENUM); final JDocComment javaDocComment = dc.javadoc(); final Map<String, String> part = javaDocComment.addXdoclet("author"); part.put("<a href", "'mailto:ralf.battenfeld@bluewin.ch'>Ralf Battenfeld</a>"); for (final String enumConstant : metadataEnum.getValueList()) { dc.enumConstant(getEnumConstantName(enumConstant)); } final JMethod toStringMethod = dc.method(1, String.class, "toString"); toStringMethod.body()._return(JExpr.direct("name().substring(1)")); } final File file = new File("./src/test/java"); file.mkdirs(); cm.build(file); }
/** * Returns true, if the given string argument represents a enumeration class. * * @param elementName * @return true, if the string represents a enumeration, otherwise false. */ public boolean isEnum(final String elementType) { final String namespace = splitElementType(elementType)[0]; final String localname = splitElementType(elementType)[1]; boolean isEnum = false; for (final MetadataEnum metadataEnum : metadata.getEnumList()) { if (metadataEnum.getName().equals(localname) && metadataEnum.getNamespace().equals(namespace)) { isEnum = true; break; } } return isEnum; }
sb.append(LINE); sb.append(NEWLINE); sb.append("Enum: " + enumItem.getName()); sb.append(NEWLINE); for (String enumValue : enumItem.getValueList()) { sb.append(" Value : " + enumValue); sb.append(NEWLINE);
/** * Adds a enumeration value to the specified enumeration name. If no enumeration class is found, then a new * enumeration class will be created. * * @param enumName * the enumeration class name. * @param enumValue * the new enumeration value. */ public void addEnumValue(final String enumName, final String enumValue) { for (MetadataEnum instance : enumList) { if (instance.getName().equals(enumName) && instance.getNamespace().equals(getCurrentNamespace())) { instance.addValue(enumValue); return; } } final MetadataEnum newEnum = new MetadataEnum(enumName); newEnum.addValue(enumValue); newEnum.setNamespace(getCurrentNamespace()); newEnum.setSchemaName(getCurrentSchmema()); newEnum.setPackageApi(getCurrentPackageApi()); enumList.add(newEnum); }