1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| private static final Map<String, ClassValidator<? extends AbstractEntity>> VALIDATORS = Collections
.synchronizedMap(new TreeMap<String, ClassValidator<? extends AbstractEntity>>());
/**
* Get (and create if necessary) the validator for an Entity
* @param <Entity> Entity class
* @param entity Entity
* @return Validator for this entity
*/
private static <Entity extends AbstractEntity> ClassValidator<Entity> getValidator(Entity entity) {
Class<Entity> clazz = (Class<Entity>) entity.getClass();
String className = clazz.getName();
ClassValidator<Entity> validator = null;
synchronized (VALIDATORS) {
validator = (ClassValidator<Entity>) VALIDATORS.get(className);
if (validator == null) {
validator = new ClassValidator<Entity>(clazz);
VALIDATORS.put(className, validator);
}
}
return validator;
} |
Partager