All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.venky.swf.db.extensions.AfterModelValidateExtension Maven / Gradle / Ivy

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 AfterModelValidateExtension implements Extension{
	protected static  void registerExtension(AfterModelValidateExtension instance){
		Registry.instance().registerExtension(getModelClass(instance).getSimpleName() +".after.validate", instance);
	}
    protected static  void deregisterExtension(AfterModelValidateExtension instance){
        Registry.instance().deregisterExtension(getModelClass(instance).getSimpleName() +".after.validate", instance);
    }
	@SuppressWarnings("unchecked")
	protected static  Class getModelClass(AfterModelValidateExtension instance){
		ParameterizedType pt = (ParameterizedType)instance.getClass().getGenericSuperclass();
		return (Class) pt.getActualTypeArguments()[0];
	}

	@SuppressWarnings("unchecked")
	public void invoke(Object... context) {
		M model = (M)context[0];
		afterValidate(model);
	}
	
	public abstract void afterValidate(M model);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy