Author: bluk
Date: Tue Feb 23 13:52:01 2010
New Revision: 915344
URL: http://svn.apache.org/viewvc?rev=915344&view=rev
Log:
Add JAX-RS Cookie and NewCookie
Added:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Cookie.java
(with props)
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/NewCookie.java
(with props)
Modified:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/ext/RuntimeDelegate.java
Added:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Cookie.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Cookie.java?rev=915344&view=auto
==============================================================================
---
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Cookie.java
(added)
+++
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Cookie.java
Tue Feb 23 13:52:01 2010
@@ -0,0 +1,155 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.ws.rs.core;
+
+import javax.ws.rs.ext.RuntimeDelegate;
+import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
+
+public class Cookie {
+
+ public static final int DEFAULT_VERSION = 1;
+
+ private final String name;
+ private final String value;
+ private final String path;
+ private final String domain;
+ private final int version;
+
+ public Cookie(String name, String value) {
+ this(name, value, null, null);
+ }
+
+ public Cookie(String name, String value, String path, String domain) {
+ this(name, value, path, domain, DEFAULT_VERSION);
+ }
+
+ public Cookie(String name, String value, String path, String domain, int
version) {
+ if (name == null) {
+ throw new IllegalArgumentException();
+ }
+ this.name = name;
+ this.value = value;
+ this.path = path;
+ this.domain = domain;
+ this.version = version;
+ }
+
+ @Override
+ public boolean equals(java.lang.Object obj) {
+ if (this == obj) {
+ return true;
+ }
+
+ if (obj == null) {
+ return false;
+ }
+
+ // note that this must be a Cookie exactly
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+
+ Cookie other = (Cookie)obj;
+ if (!name.equals(other.name)) {
+ return false;
+ }
+
+ if (version != other.version) {
+ return false;
+ }
+
+ if (value == null) {
+ if (other.value != null) {
+ return false;
+ }
+ } else {
+ if (!value.equals(other.value)) {
+ return false;
+ }
+ }
+
+ if (path == null) {
+ if (other.path != null) {
+ return false;
+ }
+ } else {
+ if (!path.equals(other.path)) {
+ return false;
+ }
+ }
+
+ if (domain == null) {
+ if (other.domain != null) {
+ return false;
+ }
+ } else {
+ if (!domain.equals(other.domain)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 17;
+ result = 31 * result + name.hashCode();
+ result = 31 * result + ((value == null) ? 0 : value.hashCode());
+ result = 31 * result + ((path == null) ? 0 : path.hashCode());
+ result = 31 * result + ((domain == null) ? 0 : domain.hashCode());
+ result = 31 * result + version;
+ return result;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public int getVersion() {
+ return version;
+ }
+
+ private static final HeaderDelegate<Cookie> headerDelegate =
+
RuntimeDelegate
+
.getInstance()
+
.createHeaderDelegate(Cookie.class);
+
+ @Override
+ public String toString() {
+ return headerDelegate.toString(this);
+ }
+
+ public static Cookie valueOf(String value) {
+ return headerDelegate.fromString(value);
+ }
+}
Propchange:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/Cookie.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/NewCookie.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/NewCookie.java?rev=915344&view=auto
==============================================================================
---
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/NewCookie.java
(added)
+++
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/NewCookie.java
Tue Feb 23 13:52:01 2010
@@ -0,0 +1,188 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package javax.ws.rs.core;
+
+import javax.ws.rs.ext.RuntimeDelegate;
+import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
+
+public class NewCookie extends Cookie {
+ public static final int DEFAULT_MAX_AGE = -1;
+
+ private final String comment;
+ private final int maxAge;
+ private final boolean isSecure;
+
+ public NewCookie(String name, String value) {
+ this(name, value, null, null, null, DEFAULT_MAX_AGE, false);
+ }
+
+ public NewCookie(String name,
+ String value,
+ String path,
+ String domain,
+ String comment,
+ int maxAge,
+ boolean isSecure) {
+ this(name, value, path, domain, DEFAULT_VERSION, comment, maxAge,
isSecure);
+ }
+
+ public NewCookie(String name,
+ String value,
+ String path,
+ String domain,
+ int version,
+ String comment,
+ int maxAge,
+ boolean isSecure) {
+ super(name, value, path, domain, version);
+ this.comment = comment;
+ this.maxAge = maxAge;
+ this.isSecure = isSecure;
+ }
+
+ public NewCookie(Cookie cookie) {
+ this(cookie, null, DEFAULT_MAX_AGE, false);
+ }
+
+ public NewCookie(Cookie cookie, String comment, int maxAge, boolean
isSecure) {
+ super(cookie.getName(), cookie.getValue(), cookie.getPath(),
cookie.getDomain(), cookie
+ .getVersion());
+ this.comment = comment;
+ this.maxAge = maxAge;
+ this.isSecure = isSecure;
+ }
+
+ @Override
+ public boolean equals(java.lang.Object obj) {
+ if (this == obj) {
+ return true;
+ }
+
+ if (obj == null) {
+ return false;
+ }
+
+ // note that this must be a NewCookie exactly
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+
+ NewCookie other = (NewCookie)obj;
+ if (!getName().equals(other.getName())) {
+ return false;
+ }
+
+ if (getVersion() != other.getVersion()) {
+ return false;
+ }
+
+ if (isSecure != other.isSecure) {
+ return false;
+ }
+
+ if (maxAge != other.maxAge) {
+ return false;
+ }
+
+ String value = getValue();
+ if (value == null) {
+ if (other.getValue() != null) {
+ return false;
+ }
+ } else {
+ if (!value.equals(other.getValue())) {
+ return false;
+ }
+ }
+
+ String path = getPath();
+ if (path == null) {
+ if (other.getPath() != null) {
+ return false;
+ }
+ } else {
+ if (!path.equals(other.getPath())) {
+ return false;
+ }
+ }
+
+ String domain = getDomain();
+ if (domain == null) {
+ if (other.getDomain() != null) {
+ return false;
+ }
+ } else {
+ if (!domain.equals(other.getDomain())) {
+ return false;
+ }
+ }
+
+ if (comment == null) {
+ if (other.comment != null) {
+ return false;
+ }
+ } else {
+ if (!comment.equals(other.comment)) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = super.hashCode();
+ result = 31 * result + ((comment == null) ? 0 : comment.hashCode());
+ result = 31 * result + maxAge;
+ result = 31 * result + ((isSecure) ? 1 : 0);
+ return result;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+ public int getMaxAge() {
+ return maxAge;
+ }
+
+ public boolean isSecure() {
+ return isSecure;
+ }
+
+ public Cookie toCookie() {
+ return new Cookie(getName(), getValue(), getPath(), getDomain(),
getVersion());
+ }
+
+ private static final HeaderDelegate<NewCookie> headerDelegate =
+
RuntimeDelegate
+
.getInstance()
+
.createHeaderDelegate(NewCookie.class);
+
+ @Override
+ public String toString() {
+ return headerDelegate.toString(this);
+ }
+
+ public static NewCookie valueOf(String value) {
+ return headerDelegate.fromString(value);
+ }
+}
Propchange:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/core/NewCookie.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/ext/RuntimeDelegate.java
URL:
http://svn.apache.org/viewvc/cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/ext/RuntimeDelegate.java?rev=915344&r1=915343&r2=915344&view=diff
==============================================================================
---
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/ext/RuntimeDelegate.java
(original)
+++
cxf/sandbox/geronimo-jaxrs_1.0_spec/src/main/java/javax/ws/rs/ext/RuntimeDelegate.java
Tue Feb 23 13:52:01 2010
@@ -24,12 +24,20 @@
public abstract class RuntimeDelegate {
- public abstract UriBuilder createUriBuilder();
+ public static interface HeaderDelegate<T> {
+ public T fromString(String str);
+
+ public String toString(T obj);
+ }
public static RuntimeDelegate getInstance() {
return null;
}
+ public abstract UriBuilder createUriBuilder();
+
public abstract Variant.VariantListBuilder createVariantListBuilder();
+ public abstract <T> RuntimeDelegate.HeaderDelegate<T>
createHeaderDelegate(Class<T> headerType);
+
}