public void generate( Model model, Properties parameters ) throws ModelloException { initialize( model, parameters ); requiresDomSupport = false; try { generateXpp3Writer(); } catch ( IOException ex ) { throw new ModelloException( "Exception while generating XPP3 Writer.", ex ); } }
private void writeAllClasses( Model objectModel, JClass jClass ) throws ModelloException { for ( ModelClass clazz : getClasses( objectModel ) ) { writeClass( clazz, jClass ); } }
Model objectModel = getModel(); String packageName = objectModel.getDefaultPackageName( isPackageWithVersion(), getGeneratedVersion() ) + ".io.xpp3"; String marshallerName = getFileName( "Xpp3Writer" ); JSourceWriter sourceWriter = newJSourceWriter( packageName, marshallerName ); initHeader( jClass ); suppressAllWarnings( objectModel, jClass ); addModelImports( jClass, null ); String root = objectModel.getRoot( getGeneratedVersion() ); ModelClass rootClass = objectModel.getClass( root, getGeneratedVersion() ); String rootElement = resolveTagName( rootClass ); String rootElementParameterName = uncapitalise( root ); marshall.addParameter( new JParameter( new JClass( "Writer" ), "writer" ) ); marshall.addParameter( new JParameter( new JClass( root ), rootElementParameterName ) ); writeAllClasses( objectModel, jClass ); createWriteDomMethod( jClass );
String uncapClassName = uncapitalise( className ); namespace = xmlModelMetadata.getNamespace( getGeneratedVersion() ); sc.add( "serializer.setPrefix( \"\", \"" + 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( "serializer.text( " + getValue( contentField.getType(), contentValue, xmlFieldMetadata ) + " );" ); String fieldTagName = resolveTagName( field, xmlFieldMetadata ); String value = uncapClassName + "." + getPrefix( javaFieldMetadata ) + capitalise( field.getName() ) + "()"; sc.add( getValueChecker( type, value, association ) ); String valuesTagName = resolveTagName( fieldTagName, xmlAssociationMetadata ); sc.add( getValueChecker( type, value, association ) );