blob: b47965ff0624ccc03cc87fd7c545e1f2a3f26bff [file] [log] [blame]
package com.google.net.stubby;
import com.google.net.stubby.ServerMethodDefinition;
import com.google.net.stubby.ServerServiceDefinition;
import javax.annotation.Nullable;
import javax.annotation.concurrent.ThreadSafe;
/** Registry of services and their methods for dispatching incoming calls. */
@ThreadSafe
public abstract class HandlerRegistry {
/** Lookup full method name, starting with '/'. Returns {@code null} if method not found. */
@Nullable
public abstract Method lookupMethod(String methodName);
/** A method definition and its parent's service definition. */
public static final class Method {
private final ServerServiceDefinition serviceDef;
private final ServerMethodDefinition<?, ?> methodDef;
public Method(ServerServiceDefinition serviceDef, ServerMethodDefinition<?, ?> methodDef) {
this.serviceDef = serviceDef;
this.methodDef = methodDef;
}
public ServerServiceDefinition getServiceDefinition() {
return serviceDef;
}
public ServerMethodDefinition<?, ?> getMethodDefinition() {
return methodDef;
}
}
}