You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bl...@apache.org on 2010/02/28 00:02:13 UTC

svn commit: r917070 - /cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Response.java

Author: bluk
Date: Sat Feb 27 23:02:13 2010
New Revision: 917070

URL: http://svn.apache.org/viewvc?rev=917070&view=rev
Log:
Update for JAX-RS Response methods

Modified:
    cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Response.java

Modified: cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Response.java
URL: http://svn.apache.org/viewvc/cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Response.java?rev=917070&r1=917069&r2=917070&view=diff
==============================================================================
--- cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Response.java (original)
+++ cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Response.java Sat Feb 27 23:02:13 2010
@@ -20,13 +20,14 @@
 package javax.ws.rs.core;
 
 import java.net.URI;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
 
 import javax.ws.rs.ext.RuntimeDelegate;
 
-public class Response {
+public abstract class Response {
 
     private final static RuntimeDelegate delegate = RuntimeDelegate.getInstance();
 
@@ -133,4 +134,114 @@
             return reasonPhrase;
         }
     }
+
+    protected Response() {
+        // do nothing
+    }
+
+    public static Response.ResponseBuilder created(java.net.URI location) {
+        if (location == null) {
+            throw new IllegalArgumentException();
+        }
+        return status(Status.CREATED).location(location);
+    }
+
+    public static Response.ResponseBuilder fromResponse(Response response) {
+        ResponseBuilder builder = delegate.createResponseBuilder();
+        builder.status(response.getStatus());
+        builder.entity(response.getEntity());
+        MultivaluedMap<String, Object> metadata = response.getMetadata();
+        for (String key : metadata.keySet()) {
+            List<Object> values = metadata.get(key);
+            for (Object value : values) {
+                builder.header(key, value);
+            }
+        }
+        return builder;
+    }
+
+    public abstract Object getEntity();
+
+    public abstract MultivaluedMap<String, Object> getMetadata();
+
+    public abstract int getStatus();
+
+    public static Response.ResponseBuilder noContent() {
+        return status(Status.NO_CONTENT);
+    }
+
+    public static Response.ResponseBuilder notAcceptable(List<Variant> values) {
+        ResponseBuilder builder = status(Status.NOT_ACCEPTABLE);
+        if (values == null) {
+            return builder.variants(Collections.EMPTY_LIST);
+        }
+        return builder.variants(values);
+    }
+
+    public static Response.ResponseBuilder notModified() {
+        return status(Status.NOT_MODIFIED);
+    }
+
+    public static Response.ResponseBuilder notModified(EntityTag value) {
+        if (value == null) {
+            throw new IllegalArgumentException();
+        }
+        return status(Status.NOT_MODIFIED).tag(value);
+    }
+
+    public static Response.ResponseBuilder notModified(String value) {
+        if (value == null) {
+            throw new IllegalArgumentException();
+        }
+        return status(Status.NOT_MODIFIED).tag(value);
+    }
+
+    public static Response.ResponseBuilder ok() {
+        return status(Status.OK);
+    }
+
+    public static Response.ResponseBuilder ok(Object entity) {
+        return status(Status.OK).entity(entity);
+    }
+
+    public static Response.ResponseBuilder ok(Object entity, MediaType mediaType) {
+        return status(Status.OK).entity(entity).type(mediaType);
+    }
+
+    public static Response.ResponseBuilder ok(Object entity, String mediaType) {
+        return status(Status.OK).entity(entity).type(mediaType);
+    }
+
+    public static Response.ResponseBuilder ok(Object entity, Variant variant) {
+        return status(Status.OK).entity(entity).variant(variant);
+    }
+
+    public static Response.ResponseBuilder seeOther(URI location) {
+        if (location == null) {
+            throw new IllegalArgumentException();
+        }
+        return status(Status.SEE_OTHER).location(location);
+    }
+
+    public static Response.ResponseBuilder serverError() {
+        return status(Status.INTERNAL_SERVER_ERROR);
+    }
+
+    public static Response.ResponseBuilder status(int status) {
+        if (status < 100 || status > 599) {
+            throw new IllegalArgumentException();
+        }
+        return ResponseBuilder.newInstance().status(status);
+    }
+
+    public static Response.ResponseBuilder status(Response.Status status) {
+        if (status == null) {
+            throw new IllegalArgumentException();
+        }
+        return ResponseBuilder.newInstance().status(status);
+    }
+
+    public static Response.ResponseBuilder temporaryRedirect(URI location) {
+        return status(Status.TEMPORARY_REDIRECT).location(location);
+    }
 }