private void writeAllClasses( Model objectModel, JClass jClass ) throws ModelloException { for ( ModelClass clazz : getClasses( objectModel ) ) { writeClass( clazz, jClass ); } }
public void generate( Model model, Properties parameters ) throws ModelloException { initialize( model, parameters ); requiresDomSupport = false; try { generateDom4jReader(); } catch ( IOException ex ) { throw new ModelloException( "Exception while generating Dom4j Reader.", ex ); } }
public void generate( Model model, Properties parameters ) throws ModelloException { initialize( model, parameters ); requiresDomSupport = false; try { generateDom4jWriter(); } catch ( IOException ex ) { throw new ModelloException( "Exception while generating Dom4j Writer.", ex ); } }
Model objectModel = getModel(); String packageName = objectModel.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() ) + ".io.dom4j"; String unmarshallerName = getFileName( "Dom4jReader" ); JSourceWriter sourceWriter = newJSourceWriter( packageName, unmarshallerName ); initHeader( jClass ); suppressAllWarnings( objectModel, jClass ); addModelImports( jClass, null ); ModelClass root = objectModel.getClass( objectModel.getRoot( getGeneratedVersion() ), getGeneratedVersion() ); JClass rootType = new JClass( root.getName() ); String variableName = uncapitalise( className ); sc.add( className + ' ' + variableName + " = parse" + root.getName() + "( \"" + resolveTagName( root ) + "\", document.getRootElement(), strict );" ); writeAllClassesParser( objectModel, jClass ); writeHelpers( jClass ); writeDomHelpers( jClass );
private void generateDom4jWriter() throws ModelloException, IOException Model objectModel = getModel(); String packageName = objectModel.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() ) + ".io.dom4j"; String marshallerName = getFileName( "Dom4jWriter" ); JSourceWriter sourceWriter = newJSourceWriter( packageName, marshallerName ); initHeader( jClass ); suppressAllWarnings( objectModel, jClass ); jClass.addImport( "org.dom4j.io.XMLWriter" ); addModelImports( jClass, null ); String root = objectModel.getRoot( getGeneratedVersion() ); ModelClass rootClass = objectModel.getClass( root, getGeneratedVersion() ); String rootElement = resolveTagName( rootClass ); String variableName = uncapitalise( root ); writeAllClasses( objectModel, jClass ); writeDomHelpers( jClass );
String uncapClassName = uncapitalise( className ); String namespace = xmlModelMetadata.getNamespace( getGeneratedVersion() ); sc.add( "Element element = parentElement.addElement( tagName, \"" + namespace + "\" );" ); String url = xmlModelMetadata.getSchemaLocation( getGeneratedVersion() ); List<ModelField> modelFields = getFieldsForXml( modelClass, getGeneratedVersion() ); String fieldTagName = resolveTagName( field, xmlFieldMetadata ); String value = uncapClassName + "." + getPrefix( javaFieldMetadata ) + capitalise( field.getName() ) + "()"; sc.add( getValueChecker( type, value, field ) ); + getValue( field.getType(), value, xmlFieldMetadata ) + " );" ); sc.add( "}" ); sc.add( "element.setText( " + getValue( contentField.getType(), contentValue, xmlFieldMetadata ) + " );" ); processField( field, xmlFieldMetadata, uncapClassName, sc, modelClass, jClass );
String fieldTagName = resolveTagName( field, xmlFieldMetadata ); String value = uncapClassName + "." + getPrefix( javaFieldMetadata ) + capitalise( field.getName() ) + "()"; sc.add( getValueChecker( type, value, association ) ); (XmlAssociationMetadata) association.getAssociationMetadata( XmlAssociationMetadata.ID ); String valuesTagName = resolveTagName( fieldTagName, xmlAssociationMetadata ); sc.add( getValueChecker( type, value, association ) ); if ( isClassInModel( association.getTo(), modelClass.getModel() ) ) sc.add( toType + " " + singular( uncapitalise( field.getName() ) ) + " = (" + toType + ") iter.next();" ); + singular( uncapitalise( field.getName() ) ) + " );" ); sc.add( getValueChecker( type, value, field ) ); sc.add( "Element assocElement = listElement.addElement( \"" + singular( associationName ) + "\" );" ); sc.add( "assocElement.addElement( \"key\" ).setText( key );" ); sc.add( getValueChecker( type, value, field ) ); + getValue( field.getType(), value, xmlFieldMetadata ) + " );" );
String capClassName = capitalise( className ); String uncapClassName = uncapitalise( className ); List<ModelField> modelFields = getFieldsForXml( modelClass, getGeneratedVersion() ); sc.indent(); writePrimitiveField( field, field.getType(), uncapClassName, "set" + capitalise( field.getName() ), sc, jClass, "element", "childElement" ); writePrimitiveField( contentField, contentField.getType(), uncapClassName, "set" + capitalise( contentField.getName() ), sc, jClass, null, "element" ); processField( field, xmlFieldMetadata, addElse, sc, uncapClassName, jClass );
String objectName, JClass jClass ) String fieldTagName = resolveTagName( field, xmlFieldMetadata ); String capFieldName = capitalise( field.getName() ); String singularName = singular( field.getName() ); (XmlAssociationMetadata) association.getAssociationMetadata( XmlAssociationMetadata.ID ); String valuesTagName = resolveTagName( fieldTagName, xmlAssociationMetadata ); if ( isClassInModel( association.getTo(), field.getModelClass().getModel() ) ) writePrimitiveField( association, association.getTo(), associationName, "add", sc, jClass, "childElement", "listElement" ); sc.add( "}" ); sc.add( objectName + ".add" + capitalise( singularName ) + "( key, value );" ); + ( xmlFieldMetadata.isTrim() ? ".trim()" : "" ) + ";" ); sc.add( objectName + ".add" + capitalise( singularName ) + "( key, value );" ); writePrimitiveField( field, field.getType(), objectName, "set" + capitalise( field.getName() ), sc, jClass, "element", "childElement" );
private void writeAllClassesParser( Model objectModel, JClass jClass ) { ModelClass root = objectModel.getClass( objectModel.getRoot( getGeneratedVersion() ), getGeneratedVersion() ); for ( ModelClass clazz : getClasses( objectModel ) ) { writeClassParser( clazz, jClass, root.getName().equals( clazz.getName() ) ); } }
method = convertNumericalType( "getIntegerValue", JType.INT, "Integer.valueOf( s ).intValue()", "an integer" ); method = convertNumericalType( "getShortValue", JType.SHORT, "Short.valueOf( s ).shortValue()", "a short integer" ); method = convertNumericalType( "getByteValue", JType.BYTE, "Byte.valueOf( s ).byteValue()", "a byte" ); method = convertNumericalType( "getLongValue", JType.LONG, "Long.valueOf( s ).longValue()", "a long integer" ); method = convertNumericalType( "getFloatValue", JType.FLOAT, "Float.valueOf( s ).floatValue()", "a floating point number" ); method = convertNumericalType( "getDoubleValue", JType.DOUBLE, "Double.valueOf( s ).doubleValue()", "a floating point number" ); method.addException( new JClass( "DocumentException" ) ); writeDateParsingHelper( method.getSourceCode(), "new DocumentException( e.getMessage(), e )" );
String tagName = resolveTagName( field, xmlFieldMetadata );