1.1MR C006
svn path=/trunk/; revision=550
diff --git a/spec/chapters/changes.tex b/spec/chapters/changes.tex
index e549206..5d2f198 100644
--- a/spec/chapters/changes.tex
+++ b/spec/chapters/changes.tex
@@ -8,6 +8,7 @@
\item Section \ref{standard_entity_providers}: requirements on standard entity providers when presented with an empty request entity.
\item Section \ref{message_body_writer}: add closeness of generic type as secondary sort key.
\item Section \ref{message_body_reader}: default to application/octet-stream if a request does not contain a content-type header.
+\item Section \ref{resource_field}: add support for static fromString method.
\end{itemize}
\section{Changes Since Proposed Final Draft}
diff --git a/spec/chapters/resources.tex b/spec/chapters/resources.tex
index 077e353..cde3506 100644
--- a/spec/chapters/resources.tex
+++ b/spec/chapters/resources.tex
@@ -45,7 +45,7 @@
\begin{enumerate}
\item Primitive types
\item\label{stringctor} Types that have a constructor that accepts a single \code{String} argument
-\item\label{valueofmethod} Types that have a static method named \code{valueOf} with a single \code{String} argument
+\item\label{valueofmethod} Types that have a static method named \code{valueOf} or \code{fromString} with a single \code{String} argument - if both methods are present then \code{valueOf} MUST be used unless the type is an enum in which case \code{fromString} MUST be used
\item \code{List<{\em T}>}, \code{Set<{\em T}>}, or \code{SortedSet<{\em T}>}, where \code{{\em T}} satisfies \ref{stringctor} or \ref{valueofmethod} above.
\end{enumerate}
diff --git a/src/jsr311-api/src/javax/ws/rs/CookieParam.java b/src/jsr311-api/src/javax/ws/rs/CookieParam.java
index a358ed6..e8beda9 100644
--- a/src/jsr311-api/src/javax/ws/rs/CookieParam.java
+++ b/src/jsr311-api/src/javax/ws/rs/CookieParam.java
@@ -36,7 +36,8 @@
* <li>Be a primitive type</li>
* <li>Be {@link javax.ws.rs.core.Cookie}</li>
* <li>Have a constructor that accepts a single String argument</li>
- * <li>Have a static method named <code>valueOf</code> that accepts a single
+ * <li>Have a static method named <code>valueOf</code> or <code>fromString</code>
+ * that accepts a single
* String argument (see, for example, {@link Integer#valueOf(String)})
* <li>Be <code>List<T></code>, <code>Set<T></code> or
* <code>SortedSet<T></code>, where <code>T</code> satisfies 2, 3 or 4 above.
diff --git a/src/jsr311-api/src/javax/ws/rs/FormParam.java b/src/jsr311-api/src/javax/ws/rs/FormParam.java
index a5aa84a..96b4d33 100644
--- a/src/jsr311-api/src/javax/ws/rs/FormParam.java
+++ b/src/jsr311-api/src/javax/ws/rs/FormParam.java
@@ -36,7 +36,8 @@
* <ol>
* <li>Be a primitive type</li>
* <li>Have a constructor that accepts a single <code>String</code> argument</li>
- * <li>Have a static method named <code>valueOf</code> that accepts a single
+ * <li>Have a static method named <code>valueOf</code> or <code>fromString</code>
+ * that accepts a single
* <code>String</code> argument (see, for example, {@link Integer#valueOf(String)})</li>
* <li>Be <code>List<T></code>, <code>Set<T></code> or
* <code>SortedSet<T></code>, where <code>T</code> satisfies 2 or 3 above.
diff --git a/src/jsr311-api/src/javax/ws/rs/HeaderParam.java b/src/jsr311-api/src/javax/ws/rs/HeaderParam.java
index f451ad2..67c5a5f 100644
--- a/src/jsr311-api/src/javax/ws/rs/HeaderParam.java
+++ b/src/jsr311-api/src/javax/ws/rs/HeaderParam.java
@@ -35,7 +35,8 @@
* <ol>
* <li>Be a primitive type</li>
* <li>Have a constructor that accepts a single <code>String</code> argument</li>
- * <li>Have a static method named <code>valueOf</code> that accepts a single
+ * <li>Have a static method named <code>valueOf</code> or <code>fromString</code>
+ * that accepts a single
* <code>String</code> argument (see, for example, {@link Integer#valueOf(String)})</li>
* <li>Be <code>List<T></code>, <code>Set<T></code> or
* <code>SortedSet<T></code>, where <code>T</code> satisfies 2 or 3 above.
diff --git a/src/jsr311-api/src/javax/ws/rs/MatrixParam.java b/src/jsr311-api/src/javax/ws/rs/MatrixParam.java
index 61f5f6e..9acb87b 100644
--- a/src/jsr311-api/src/javax/ws/rs/MatrixParam.java
+++ b/src/jsr311-api/src/javax/ws/rs/MatrixParam.java
@@ -36,7 +36,8 @@
* <ol>
* <li>Be a primitive type</li>
* <li>Have a constructor that accepts a single <code>String</code> argument</li>
- * <li>Have a static method named <code>valueOf</code> that accepts a single
+ * <li>Have a static method named <code>valueOf</code> or <code>fromString</code>
+ * that accepts a single
* <code>String</code> argument (see, for example, {@link Integer#valueOf(String)})</li>
* <li>Be <code>List<T></code>, <code>Set<T></code> or
* <code>SortedSet<T></code>, where <code>T</code> satisfies 2 or 3 above.
diff --git a/src/jsr311-api/src/javax/ws/rs/PathParam.java b/src/jsr311-api/src/javax/ws/rs/PathParam.java
index 81dfb08..ff3bd0f 100644
--- a/src/jsr311-api/src/javax/ws/rs/PathParam.java
+++ b/src/jsr311-api/src/javax/ws/rs/PathParam.java
@@ -45,7 +45,8 @@
* path segments.</li>
* <li>Be a primitive type.</li>
* <li>Have a constructor that accepts a single String argument.</li>
- * <li>Have a static method named <code>valueOf</code> that accepts a single
+ * <li>Have a static method named <code>valueOf</code> or <code>fromString</code>
+ * that accepts a single
* String argument (see, for example, {@link Integer#valueOf(String)}).
* </ul>
*
diff --git a/src/jsr311-api/src/javax/ws/rs/QueryParam.java b/src/jsr311-api/src/javax/ws/rs/QueryParam.java
index 1cee16f..cbedbb9 100644
--- a/src/jsr311-api/src/javax/ws/rs/QueryParam.java
+++ b/src/jsr311-api/src/javax/ws/rs/QueryParam.java
@@ -36,7 +36,8 @@
* <ol>
* <li>Be a primitive type</li>
* <li>Have a constructor that accepts a single <code>String</code> argument</li>
- * <li>Have a static method named <code>valueOf</code> that accepts a single
+ * <li>Have a static method named <code>valueOf</code> or <code>fromString</code>
+ * that accepts a single
* <code>String</code> argument (see, for example, {@link Integer#valueOf(String)})</li>
* <li>Be <code>List<T></code>, <code>Set<T></code> or
* <code>SortedSet<T></code>, where <code>T</code> satisfies 2 or 3 above.