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 ); } }
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() ) ); } }
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 );
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" );
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 )" );