private void writeElementAttribute( JSourceCode sc, ModelField referenceIdentifierField, String value ) { if ( referenceIdentifierField instanceof DummyIdModelField ) { writeIdMapCheck( sc, value, referenceIdentifierField.getName() ); } else { String v = getValue( referenceIdentifierField.getType(), getFieldValue( value, referenceIdentifierField ), (XmlFieldMetadata) referenceIdentifierField.getMetadata( XmlFieldMetadata.ID ) ); sc.add( "serializer.writeAttribute( \"" + referenceIdentifierField.getName() + "\", " + v + " );" ); } }
protected String getValueChecker( String type, String value, ModelField field ) throws ModelloException { String retVal; if ( "boolean".equals( type ) || "double".equals( type ) || "float".equals( type ) || "int".equals( type ) || "long".equals( type ) || "short".equals( type ) || "byte".equals( type ) || "char".equals( type ) ) { retVal = "if ( " + value + " != " + getJavaDefaultValue( field ) + " )"; } else if ( ModelDefault.LIST.equals( type ) || ModelDefault.SET.equals( type ) || ModelDefault.MAP.equals( type ) || ModelDefault.PROPERTIES.equals( type ) ) { retVal = "if ( ( " + value + " != null ) && ( " + value + ".size() > 0 ) )"; } else if ( "String".equals( type ) && field.getDefaultValue() != null ) { retVal = "if ( ( " + value + " != null ) && !" + value + ".equals( \"" + field.getDefaultValue() + "\" ) )"; } else if ( "Date".equals( type ) && field.getDefaultValue() != null ) { retVal = "if ( ( " + value + " != null ) && !" + value + ".equals( " + getJavaDefaultValue( field ) + " ) )"; } else { retVal = "if ( " + value + " != null )"; } return retVal; }
if ( !field.getType().equals( "String" ) ) "Class: '" + field.getModelClass().getName() + "', " + "field : '" + field.getName() + "'." ); "Class: '" + field.getModelClass().getName() + "', " + "field : '" + field.getName() + "'." );
public String toString() { return "[Field: name=" + getName() + ", alias: " + alias + ", type: " + type + ", " + "version: " + getVersionRange() + "]"; }
public void validateElement() throws ModelValidationException { validateFieldNotEmpty( "field", "name", getName() ); validateFieldNotEmpty( "field '" + getName() + "'", "type", type ); // TODO: these definitions are duplicated throughout. Defined centrally, and loop through in the various uses if ( !isPrimitive() && !isPrimitiveArray() ) { throw new ModelValidationException( "Field '" + getName() + "': Illegal type: '" + type + "'." ); } }
String capFieldName = capitalise( field.getName() ); String singularName = singular( field.getName() ); if ( StringUtils.isEmpty( field.getAlias() ) ) alias = "\"" + field.getAlias() + "\""; writePrimitiveField( field, field.getType(), objectName, objectName, "\"" + field.getName() + "\"", "set" + capFieldName, sc ); boolean inModel = isClassInModel( association.getTo(), field.getModelClass().getModel() ); + capitalise( singular( locationField ) ) + "( \"" + field.getName() + "\" );" ); sc.add( "if ( " + LOCATION_VAR + "s == null )" );
ModelField modelField = new ModelField(); modelField.setAlias( parser.nextText() ); modelField.setType( parser.nextText() ); modelField.setDefaultValue( parser.nextText() ); modelField.setTypeValidator( parser.nextText() ); modelField.setRequired( Boolean.valueOf( parser.nextText() ) ); modelField.setIdentifier( Boolean.valueOf( parser.nextText() ).booleanValue() ); if ( modelField.getName() != null ) modelClass.getName() + ":" + modelField.getName() + ":" + modelField.getVersionRange(), fAttributes ); modelAssociation.setName( modelField.getName() ); modelAssociation.setDescription( modelField.getDescription() ); modelAssociation.setVersionRange( modelField.getVersionRange() ); modelAssociation.setComment( modelField.getComment() ); modelAssociation.setAnnotations( modelField.getAnnotations() );
w.addAttribute( "base", getXsdType( contentField.getType() ) ); XmlFieldMetadata xmlFieldMetadata = (XmlFieldMetadata) field.getMetadata( XmlFieldMetadata.ID ); String xsdType = getXsdType( field.getType() ); if ( "Date".equals( field.getType() ) && "long".equals( xmlFieldMetadata.getFormat() ) ) else if ( ( xsdType != null ) || "char".equals( field.getType() ) || "Character".equals( field.getType() ) ) if ( field.getDefaultValue() != null ) if ( field.getDefaultValue() != "\0" ) w.addAttribute( "default", field.getDefaultValue() ); throw new IllegalStateException( field.getName() + " field is declared as xml.listStyle=\"flat\" " + "then class " + modelClass.getName() + " MUST be declared as xsd.compositor=\"sequence\"" ); if ( List.class.getName().equals( field.getType() ) || Set.class.getName().equals( field.getType() ) ) else if ( Properties.class.getName().equals( field.getType() ) || "DOM".equals( field.getType() ) ) + field.getType() + "' for '" + field.getName() + "' in '" + modelClass.getName() + "' model class" ); XmlFieldMetadata xmlFieldMetadata = (XmlFieldMetadata) field.getMetadata( XmlFieldMetadata.ID );
StoreFieldMetadata storeMetadata = (StoreFieldMetadata) modelField.getMetadata( StoreFieldMetadata.ID ); JPoxFieldMetadata jpoxMetadata = (JPoxFieldMetadata) modelField.getMetadata( JPoxFieldMetadata.ID ); writer.addAttribute( "name", modelField.getName() ); if ( modelField.isRequired() ) if ( modelField.isPrimitiveArray() ) if ( !StringUtils.equalsIgnoreCase( columnName, modelField.getName() ) ) columnProps.setProperty( "default-value", modelField.getDefaultValue() );
String name = capitalise( modelField.getName() ); if ( versionDefinition.getValue().equals( modelField.getName() ) || versionDefinition.getValue().equals( modelField.getAlias() ) ) if ( toVersion != null && !toVersion.inside( modelField.getVersionRange() ) ) try newField = modelClass.getField( modelField.getName(), toVersion ); if ( !newField.getType().equals( modelField.getType() ) ) sc.add( "// Convert field " + modelField.getName() ); (JavaFieldMetadata) modelField.getMetadata( JavaFieldMetadata.ID ); String value = parameterName + "." + getPrefix( javaFieldMetadata ) + name + "()"; sc.add( "value.set" + name + "( " + value + " );" );
String baseType = modelField.getType(); if ( modelField.isArray() ) if ( modelField.isArray() ) JField field = new JField( type, modelField.getName() ); if ( modelField.isModelVersionField() ) if ( modelField.getDefaultValue() != null ) if ( StringUtils.isNotEmpty( modelField.getDescription() ) ) field.setComment( appendPeriod( modelField.getDescription() ) ); if ( useJava5 && !modelField.getAnnotations().isEmpty() ) for ( String annotation : modelField.getAnnotations() )
private boolean createSetBuilderFieldToInstance( Set<String> ctorArgs, ModelField modelField, JSourceCode sc ) throws ModelloException { JavaFieldMetadata javaFieldMetadata = (JavaFieldMetadata) modelField.getMetadata( JavaFieldMetadata.ID ); // if it is not already set by the ctor and if the setter method is available if ( !ctorArgs.contains( modelField.getName() ) && javaFieldMetadata.isSetter() ) { sc.add( "instance.set" + capitalise( modelField.getName() ) + "( " + modelField.getName() + " );" ); return true; } return false; }
ModelClass modelClass = modelField.getModelClass(); JPoxModelMetadata modelMetadata = (JPoxModelMetadata) modelClass.getModel().getMetadata( JPoxModelMetadata.ID ); emsg.append( " <field jpox.join-table=\"" ).append( fieldMetadata.getJoinTableName() ); emsg.append( "\">" ).append( EOL ); emsg.append( " <name>" ).append( modelField.getName() ).append( "</name>" ).append( EOL ); emsg.append( " <field>" ).append( EOL ); emsg.append( " </fields>" ).append( EOL );
String objectIdClass = (String) PRIMITIVE_IDENTITY_MAP.get( modelField.getType() ); if ( field.isPrimitive() ) JPoxFieldMetadata jpoxFieldMetadata = (JPoxFieldMetadata) field.getMetadata( JPoxFieldMetadata.ID );
XmlFieldMetadata xmlFieldMetadata = (XmlFieldMetadata) f.getMetadata( XmlFieldMetadata.ID ); w.endElement(); else if ( ModelDefault.PROPERTIES.equals( f.getType() ) ) w.writeText( f.getType() ); if ( f.getVersionRange() != null ) Version fromVersion = f.getVersionRange().getFromVersion(); if ( fromVersion != null && fromVersion.greaterThan( firstVersion ) ) if ( f.getDefaultValue() != null && !( f instanceof ModelAssociation ) ) writeTextElement( w, "code", f.getDefaultValue() );
public boolean isArray() { return getType().endsWith( "[]" ); }
private void writePrimitiveField( ModelField field, String type, String objectName, String locatorName, String locationKey, String setterName, JSourceCode sc, boolean wrappedItem ) XmlFieldMetadata xmlFieldMetadata = (XmlFieldMetadata) field.getMetadata( XmlFieldMetadata.ID ); + type + " for field " + field.getModelClass().getName() + "." + field.getName() );
public Map<String, String> getAttributesForField( ModelField modelField ) { return fieldAttributes.get( modelField.getModelClass().getName() + ':' + modelField.getName() + ':' + modelField.getVersionRange() ); }