public boolean isIdGenerationRequired() {
return idGenerationRequired;
}
public void generateIdFor(AbstractBluePrintsBackedFinderService<?, DataType, ?> service, DataType toCreate) {
IdGenerator generator = null;
Class<?> objectType = Utils.maybeObjectify(idProperty.getType());
if (Long.class.isAssignableFrom(objectType)) {
generator = new LongGenerator(service, idProperty);
} else if (Integer.class.isAssignableFrom(objectType)) {
generator = new IntegerGenerator(service, idProperty);
} else if (String.class.isAssignableFrom(objectType)) {
generator = new StringGenerator(service, idProperty);
} else {
throw new UnsupportedIdTypeException(objectType + " can't be used as id : we don't know how to generate its values !");
}
generator.generateIdFor(toCreate);
}