private static OperationResourceInfo createOperationInfo(Method m, Method annotatedMethod, ClassResourceInfo cri, Path path, String httpMethod) { OperationResourceInfo ori = new OperationResourceInfo(m, annotatedMethod, cri); URITemplate t = URITemplate.createTemplate(path); ori.setURITemplate(t); ori.setHttpMethod(httpMethod); return ori; }
@Override public boolean contextsAvailable() { // avoid re-injecting the contexts if the root acts as subresource return super.contextsAvailable() && (isRoot() || parent != null); }
@Override public Class<?> getResourceClass() { return ori == null ? null : ori.getClassResourceInfo().getServiceClass(); }
MethodDispatcher(MethodDispatcher md, ClassResourceInfo cri) { for (OperationResourceInfo ori : md.getOperationResourceInfos()) { OperationResourceInfo clone = new OperationResourceInfo(ori, cri); oriToMethod.put(clone, clone.getMethodToInvoke()); methodToOri.put(clone.getMethodToInvoke(), clone); } }
@Override public Class<?> getResourceClass() { return ori == null ? null : ori.getClassResourceInfo().getResourceClass(); }
protected void handleParams(StringBuilder sb, OperationResourceInfo ori, ParameterType type, boolean isJson) { for (Parameter pm : ori.getParameters()) { if (pm.getType() == type) { writeParam(sb, pm, ori, isJson); } } }
private ResourceProvider getResourceProvider(Exchange exchange) { Object provider = exchange.remove(JAXRSUtils.ROOT_PROVIDER); if (provider == null) { OperationResourceInfo ori = exchange.get(OperationResourceInfo.class); ClassResourceInfo cri = ori.getClassResourceInfo(); return cri.getResourceProvider(); } return (ResourceProvider)provider; }
@Override public Method getResourceMethod() { return ori == null ? null : ori.getMethodToInvoke(); } @Override
@Override protected void injectContextValues(ProviderInfo<?> pi, Message m) { if (m != null) { InjectionUtils.injectContexts(pi.getProvider(), pi, m); if (application != null && application.contextsAvailable()) { InjectionUtils.injectContexts(application.getProvider(), application, m); } } }
protected static Set<String> getFilterNameBindings(ProviderInfo<?> p) { if (p instanceof FilterProviderInfo) { return ((FilterProviderInfo<?>)p).getNameBindings(); } else { return getFilterNameBindings(p.getBus(), p.getProvider()); } } protected static Set<String> getFilterNameBindings(Bus bus, Object provider) {
public void clearThreadLocalProxies() { clearProxies(getFieldProxyMap(false)); clearProxies(getSetterProxyMap(false)); clearProxies(getConstructorProxyMap(false)); }
protected BeanResourceInfo(Class<?> resourceClass, Class<?> serviceClass, boolean isRoot, boolean checkContexts, Bus bus) { super(resourceClass, serviceClass, isRoot, checkContexts, bus); if (checkContexts && resourceClass != null) { setParamField(serviceClass); setParamMethods(serviceClass); } }
public Set<String> getNameBindings() { if (parent == null) { return nameBindings; } return parent.getNameBindings(); }
@Override public String toString() { return getValue(); } }
private void checkParamConverterContexts() { for (ProviderInfo<ParamConverterProvider> pi : paramConverters) { if (pi.contextsAvailable()) { paramConverterContextsAvailable = true; } } } public boolean isParamConverterContextsAvailable() {
protected AbstractResourceInfo(Class<?> resourceClass, Class<?> serviceClass, boolean isRoot, boolean checkContexts, Bus bus, Object provider) { this.bus = bus; this.serviceClass = serviceClass; this.resourceClass = resourceClass; root = isRoot; if (checkContexts && resourceClass != null) { findContexts(serviceClass, provider); } } private void findContexts(Class<?> cls, Object provider) {
@Override public Method getResourceMethod() { return ori == null ? null : ori.getMethodToInvoke(); } @Override
private static OperationResourceInfo createOperationInfo(Method m, Method annotatedMethod, ClassResourceInfo cri, Path path, String httpMethod) { OperationResourceInfo ori = new OperationResourceInfo(m, annotatedMethod, cri); URITemplate t = URITemplate.createTemplate(path); ori.setURITemplate(t); ori.setHttpMethod(httpMethod); return ori; }
@Override public boolean contextsAvailable() { // avoid re-injecting the contexts if the root acts as subresource return super.contextsAvailable() && (isRoot() || parent != null); }
protected BeanResourceInfo(Class<?> resourceClass, Class<?> serviceClass, boolean isRoot, boolean checkContexts, Bus bus) { super(resourceClass, serviceClass, isRoot, checkContexts, bus); if (checkContexts && resourceClass != null) { setParamField(serviceClass); setParamMethods(serviceClass); } }