Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
vertigo - simple java starter Copyright (C) 2013, KleeGroup, direction.technique@kleegroup.com (http://www.kleegroup.com) KleeGroup, Centre d'affaire la Boursidiere - BP 159 - 92357 Le Plessis Robinson Cedex - France Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
 package io.vertigo.studio.plugins.mda.domain.templates;
 
 
 import java.util.List;

Gestion centralisée des annotations sur les objets générés.

Author(s):
pchretien
 
 class AnnotationWriter {

Chaine d'indentation.
 
 	private static final String INDENT = "	";

Ectiture des annotations sur une DT_DEFINITION.

Parameters:
dtDefinition DtDefinition
Returns:
Liste des lignes de code java à ajouter.
 
 	List<StringwriteAnnotations(final DtDefinition dtDefinition) {
 		final List<Stringlines = new ArrayList<>();
 		// Générations des annotations Dynamo
 		// if (!isComputed) {
 		final StringBuilder buffer = new StringBuilder("@DtDefinition");
 		if (!dtDefinition.isPersistent()) {
 			buffer.append("(persistent = false)");
 		}
 		lines.add(buffer.toString());
 		return lines;
 	}

Ectiture des annotations sur un DT_FIELD.

Parameters:
dtField Champ de la DT_DEFINITION
dtDefinition DT_DEFINITION
Returns:
Liste des lignes de code java à ajouter.
 
 	List<StringwriteAnnotations(final DtField dtFieldfinal DtDefinition dtDefinition) {
 		final List<Stringlines = new ArrayList<>();
 		final String fieldName = dtField.getName();
 		// Générations des annotations Dynamo
 		// if (!isComputed) {
 		final StringBuilder buffer = new StringBuilder("@Field(")
 				.append("domain = \"" + dtField.getDomain().getName() + "\", ");
 		if (dtField.getType() != ..) {
 			// "DATA" est la valeur par défaut de type dans l'annotation Field
 			buffer.append("type = \"" + dtField.getType() + "\", ");
 		}
 		// La propriété Not null est obligatoirement renseignée
 		if (dtField.isNotNull()) {
 			// false est la valeur par défaut de notNull dans l'annotation Field
 			buffer.append("notNull = true, ");
 		}
 		if (!dtField.isPersistent()) {
 			// On ne précise la persistance que si elle n'est pas gérée
 			buffer.append("persistent = false, ");
 		}
 		// On vérifie que le nom du champ (constante) est transformable en nom de méthode et réciproquement.
 		Assertion.checkArgument(fieldName.equals(StringUtil.camelToConstCase(StringUtil.constToUpperCamelCase(fieldName))), "le nom {0} n''est pas transformable en nom de méthode"fieldName);
 
 		buffer
 				.append("label = \"" + dtField.getLabel().getDisplay() + "\"")
 				// on place le label a la fin, car il ne faut pas de ','
 				.append(")");
 		lines.add(buffer.toString());
 		return lines;
	}

Ectiture des annotations sur un DT_FIELD gérant une association.

Parameters:
associationSimple Definition de l'association
Returns:
Liste des lignes de code java à ajouter.
		final AssociationNode primaryNode = associationSimple.getPrimaryAssociationNode();
		final AssociationNode foreignNode = associationSimple.getForeignAssociationNode();
		final String primaryMultiplicity = AssociationUtil.getMultiplicity(primaryNode.isNotNull(), primaryNode.isMultiple());
		final String foreignMultiplipicity = AssociationUtil.getMultiplicity(foreignNode.isNotNull(), foreignNode.isMultiple());
		return new ListBuilder<String>()
				.add("@" + Association.class.getCanonicalName() + " (")
				.add( + "name = \"" + associationSimple.getName() + "\",")
				.add( + "fkFieldName = \"" + associationSimple.getFKField().getName() + "\",")
				.add( + "primaryDtDefinitionName = \"" + primaryNode.getDtDefinition().getName() + "\",")
				.add( + "primaryIsNavigable = " + primaryNode.isNavigable() + ',')
				.add( + "primaryRole = \"" + primaryNode.getRole() + "\",")
				.add( + "primaryLabel = \"" + primaryNode.getLabel() + "\",")
				.add( + "primaryMultiplicity = \"" + primaryMultiplicity + "\",")
				.add( + "foreignDtDefinitionName = \"" + foreignNode.getDtDefinition().getName() + "\",")
				.add( + "foreignIsNavigable = " + foreignNode.isNavigable() + ',')
				.add( + "foreignRole = \"" + foreignNode.getRole() + "\",")
				.add( + "foreignLabel = \"" + foreignNode.getLabel() + "\",")
				.add( + "foreignMultiplicity = \"" + foreignMultiplipicity + "\"")
				.add(")")
	}

Ectiture des annotations sur un DT_FIELD gérant une association.

Parameters:
associationNN Definition de l'association
Returns:
Liste des lignes de code java à ajouter.
		final AssociationNode nodeA = associationNN.getAssociationNodeA();
		final AssociationNode nodeB = associationNN.getAssociationNodeB();
		return new ListBuilder<String>()
				.add("@" + AssociationNN.class.getCanonicalName() + " (")
				.add( + "name = \"" + associationNN.getName() + "\",")
				.add( + "tableName = \"" + associationNN.getTableName() + "\",")
				.add( + "dtDefinitionA = \"" + nodeA.getDtDefinition().getName() + "\",")
				.add( + "dtDefinitionB = \"" + nodeB.getDtDefinition().getName() + "\",")
				.add( + "navigabilityA = " + nodeA.isNavigable() + ',')
				.add( + "navigabilityB = " + nodeB.isNavigable() + ',')
				.add( + "roleA = \"" + nodeA.getRole() + "\",")
				.add( + "roleB = \"" + nodeB.getRole() + "\",")
				.add( + "labelA = \"" + nodeA.getLabel() + "\",")
				.add( + "labelB = \"" + nodeB.getLabel() + "\"")
				.add(")")
	}
New to GrepCode? Check out our FAQ X