Class WebResourceFactory
- java.lang.Object
-
- org.glassfish.jersey.client.proxy.WebResourceFactory
-
- All Implemented Interfaces:
java.lang.reflect.InvocationHandler
public final class WebResourceFactory extends java.lang.Object implements java.lang.reflect.InvocationHandlerFactory for client-side representation of a resource. See the package overview for an example on how to use this class.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<javax.ws.rs.core.Cookie>cookiesprivate static java.lang.String[]EMPTYprivate static javax.ws.rs.core.FormEMPTY_FORMprivate static javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object>EMPTY_HEADERSprivate javax.ws.rs.core.Formformprivate javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object>headersprivate static java.util.List<java.lang.Class>PARAM_ANNOTATION_CLASSESprivate javax.ws.rs.client.WebTargettarget
-
Constructor Summary
Constructors Modifier Constructor Description privateWebResourceFactory(javax.ws.rs.client.WebTarget target, javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> headers, java.util.List<javax.ws.rs.core.Cookie> cookies, javax.ws.rs.core.Form form)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static javax.ws.rs.client.WebTargetaddPathFromAnnotation(java.lang.reflect.AnnotatedElement ae, javax.ws.rs.client.WebTarget target)private java.lang.Object[]convert(java.util.Collection value)private static java.lang.StringgetHttpMethodName(java.lang.reflect.AnnotatedElement ae)private booleanhasAnyParamAnnotation(java.util.Map<java.lang.Class,java.lang.annotation.Annotation> anns)java.lang.Objectinvoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)static <C> CnewResource(java.lang.Class<C> resourceInterface, javax.ws.rs.client.WebTarget target)Creates a new client-side representation of a resource described by the interface passed in the first argument.static <C> CnewResource(java.lang.Class<C> resourceInterface, javax.ws.rs.client.WebTarget target, boolean ignoreResourcePath, javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> headers, java.util.List<javax.ws.rs.core.Cookie> cookies, javax.ws.rs.core.Form form)Creates a new client-side representation of a resource described by the interface passed in the first argument.java.lang.StringtoString()
-
-
-
Field Detail
-
EMPTY
private static final java.lang.String[] EMPTY
-
target
private final javax.ws.rs.client.WebTarget target
-
headers
private final javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> headers
-
cookies
private final java.util.List<javax.ws.rs.core.Cookie> cookies
-
form
private final javax.ws.rs.core.Form form
-
EMPTY_HEADERS
private static final javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> EMPTY_HEADERS
-
EMPTY_FORM
private static final javax.ws.rs.core.Form EMPTY_FORM
-
PARAM_ANNOTATION_CLASSES
private static final java.util.List<java.lang.Class> PARAM_ANNOTATION_CLASSES
-
-
Method Detail
-
newResource
public static <C> C newResource(java.lang.Class<C> resourceInterface, javax.ws.rs.client.WebTarget target)Creates a new client-side representation of a resource described by the interface passed in the first argument. Calling this method has the same effect as callingWebResourceFactory.newResource(resourceInterface, rootTarget, false).- Type Parameters:
C- Type of the resource to be created.- Parameters:
resourceInterface- Interface describing the resource to be created.target- WebTarget pointing to the resource or the parent of the resource.- Returns:
- Instance of a class implementing the resource interface that can be used for making requests to the server.
-
newResource
public static <C> C newResource(java.lang.Class<C> resourceInterface, javax.ws.rs.client.WebTarget target, boolean ignoreResourcePath, javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.Object> headers, java.util.List<javax.ws.rs.core.Cookie> cookies, javax.ws.rs.core.Form form)Creates a new client-side representation of a resource described by the interface passed in the first argument.- Type Parameters:
C- Type of the resource to be created.- Parameters:
resourceInterface- Interface describing the resource to be created.target- WebTarget pointing to the resource or the parent of the resource.ignoreResourcePath- If set to true, ignores path annotation on the resource interface (this is used when creating sub-resources)headers- Header params collected from parent resources (used when creating a sub-resource)cookies- Cookie params collected from parent resources (used when creating a sub-resource)form- Form params collected from parent resources (used when creating a sub-resource)- Returns:
- Instance of a class implementing the resource interface that can be used for making requests to the server.
-
invoke
public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable- Specified by:
invokein interfacejava.lang.reflect.InvocationHandler- Throws:
java.lang.Throwable
-
hasAnyParamAnnotation
private boolean hasAnyParamAnnotation(java.util.Map<java.lang.Class,java.lang.annotation.Annotation> anns)
-
convert
private java.lang.Object[] convert(java.util.Collection value)
-
addPathFromAnnotation
private static javax.ws.rs.client.WebTarget addPathFromAnnotation(java.lang.reflect.AnnotatedElement ae, javax.ws.rs.client.WebTarget target)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getHttpMethodName
private static java.lang.String getHttpMethodName(java.lang.reflect.AnnotatedElement ae)
-
-