code: @Override
  	public void processGeneration(Object entity, Field field) {
  
  		// Si on ne doit pas evaluer cette annotation
  		if(!this.isProcessable()) {
  			
  			// On sort
  			return;
  		}
  		
  		// On caste l'annotation
  		FieldGenerator castedAnnotation = (FieldGenerator) this.annotation;
  		
  		// Classe de generation
  		Class<? extends IFieldGenerator> generatorClass = castedAnnotation.generator();
  		
  		// Instanciation de la classe
  		IFieldGenerator generator = null;
  		
  		try {
  			
  			// Instanciation de la classe
  			generator = generatorClass.newInstance();
  			
  		} catch (Exception e) {
  			
  			// On relance
  			throw new RuntimeException("jpersistencetools.generator.classbased.error.instanciate", e);
  		}
  		
  		// Initialisation du gestionnaire d'entites
  		generator.setEntityManager(entityManager);
  		
  		// Positionnement du gestionnaire d'entites de generation
  		generator.setGeneratorEntityManager(generatorEntityManager);
  		
  		// Positionnement du champ a mettre a jour
  		generator.setField(field);
  		
  		// Positionnement de l'entite
  		generator.setEntity(entity);
  		
  		// Initialisation du generateur
  		generator.initialize();
  		
  		// Generation
  		Serializable generatedValue = generator.generate();
  		
  		try {
  			
  			// Obtention du descripteur de proprietes pour cette propriete
  			PropertyDescriptor propertyDescriptor = new PropertyDescriptor(field.getName(), entity.getClass());
  			
  			// Obtention du setter
  			Method propertySetter = propertyDescriptor.getWriteMethod();
  			
  			// Invocation du setter
  			propertySetter.invoke(entity, generatedValue);
  			
  		} catch (Exception e) {
  			
  			// On relance
  			throw new RuntimeException("jpersistencetools.generator.classbased.error.update.field", e);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see net.leadware.persistence.tools.api.generator.base.IDAOGeneratorManager#processGeneration(java.lang.Object, java.lang.reflect.Field)