
com.venky.swf.db.extensions.AfterModelDestroyExtension Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of swf-db Show documentation
Show all versions of swf-db Show documentation
Succinct Web Framework - Db
The newest version!
package com.venky.swf.db.extensions;
import java.lang.reflect.ParameterizedType;
import com.venky.extension.Extension;
import com.venky.extension.Registry;
import com.venky.swf.db.model.Model;
public abstract class AfterModelDestroyExtension implements Extension{
protected static void registerExtension(AfterModelDestroyExtension instance){
Registry.instance().registerExtension(getModelClass(instance).getSimpleName() +".after.destroy", instance);
}
protected static void deregisterExtension(AfterModelDestroyExtension instance){
Registry.instance().deregisterExtension(getModelClass(instance).getSimpleName() +".after.destroy", instance);
}
@SuppressWarnings("unchecked")
protected static Class getModelClass(AfterModelDestroyExtension instance){
ParameterizedType pt = (ParameterizedType)instance.getClass().getGenericSuperclass();
return (Class) pt.getActualTypeArguments()[0];
}
@SuppressWarnings("unchecked")
public void invoke(Object... context) {
M model = (M)context[0];
afterDestroy(model);
}
public abstract void afterDestroy(M model);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy