X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=support%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fpersistence%2FPersistentFactory.java;h=944bd34aa3a028df0543626e86205f70bfb6fcbb;hb=9e31cb496862c1fb2256332e0e12f03cfcabae8d;hp=fddc76b9e7844377304aa045ac0957f7316a46b5;hpb=1092f4c2e75cabd49c41a087f9dc67cd966d11fa;p=utils diff --git a/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java b/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java index fddc76b9..944bd34a 100644 --- a/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java +++ b/support/general/src/main/java/org/wamblee/persistence/PersistentFactory.java @@ -29,7 +29,7 @@ import javax.persistence.Version; import org.wamblee.reflection.ReflectionUtils; /** - * Factory which creates a {@link Persistent} object for a given entity for + * Factory which creates a {@link Persistent} object for a given JPA entity for * interfacing with the primary key and version of the entity. * * This utility only treats primary keys and fields that are annotated with @Id @@ -46,7 +46,7 @@ public class PersistentFactory { */ private static Map CACHE = new ConcurrentHashMap(); - static interface Accessor { + public static interface Accessor { void set(Object aEntity, T aValue); T get(Object aEntity); @@ -171,16 +171,16 @@ public class PersistentFactory { @Override public Number getPersistedVersion() { - if ( accessor == null || accessor.getVersion() == null) { - return null; + if (accessor == null || accessor.getVersion() == null) { + return null; } return (Number) accessor.getVersion().get(entity); } @Override public void setPersistedVersion(Number aVersion) { - if ( accessor == null || accessor.getVersion() == null) { - return; + if (accessor == null || accessor.getVersion() == null) { + return; } accessor.getVersion().set(entity, aVersion); } @@ -224,7 +224,8 @@ public class PersistentFactory { * Annotation that must be present. * @return Accessor to use or null if the annotation is not present. */ - private static Accessor analyse(Class aClass, + // TODO move generic analysis part to the reflection package. + public static Accessor analyse(Class aClass, Class aAnnotation) { List fields = ReflectionUtils.getAllFields(aClass); for (Field field : fields) {