.. java:import:: org.datanucleus ExecutionContext .. java:import:: org.datanucleus.metadata ExtensionMetaData .. java:import:: org.datanucleus.store.objectvaluegenerator ObjectValueGenerator .. java:import:: org.motechproject.mds.util PropertyUtil AbstractObjectValueGenerator ============================ .. java:package:: org.motechproject.mds.jdo :noindex: .. java:type:: public abstract class AbstractObjectValueGenerator implements ObjectValueGenerator Base class for other generator classes. It takes value of property (see \ :java:ref:`getPropertName()`\ method) from object and modify it depending on the implementation. If the modified value is null then the \ :java:ref:`java.lang.IllegalStateException`\ is thrown. :param : type of property Methods ------- generate ^^^^^^^^ .. java:method:: @Override public Object generate(ExecutionContext ec, Object obj, ExtensionMetaData[] extensions) :outertype: AbstractObjectValueGenerator getPropertName ^^^^^^^^^^^^^^ .. java:method:: protected abstract String getPropertName() :outertype: AbstractObjectValueGenerator modify ^^^^^^ .. java:method:: protected abstract T modify(T value) :outertype: AbstractObjectValueGenerator Modifies the given value. This method cannot return null value. :param value: the given value related with property. :return: modified value.