JavaClassRpcFunctionsInstance.java
package eu.javaexperience.rpc;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import eu.javaexperience.database.annotations.Ignore;
public class JavaClassRpcFunctionsInstance<REQ extends RpcRequest> extends JavaClassRpcCollector<REQ>
{
public JavaClassRpcFunctionsInstance(Object rpcServiceInstance)
{
super(rpcServiceInstance.getClass());
javaMethodThisParam = rpcServiceInstance;
initalize();
}
@Override
public boolean mayRegister(Method m)
{
int mod = m.getModifiers();
if(Modifier.isPublic(mod))
{
if(null == m.getAnnotation(Ignore.class))
{
Class[] clss = m.getParameterTypes();
if(clss.length > 0)
{
if(RpcRequest.class.isAssignableFrom(clss[0]))
{
return true;
}
}
}
}
return false;
}
}