Index: trunk/src/javax/json/JsonReader.java
===================================================================
--- trunk/src/javax/json/JsonReader.java	(revision 6756)
+++ trunk/src/javax/json/JsonReader.java	(revision 13231)
@@ -2,5 +2,5 @@
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  *
- * Copyright (c) 2012-2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012-2017 Oracle and/or its affiliates. All rights reserved.
  *
  * The contents of this file are subject to the terms of either the GNU
@@ -9,10 +9,10 @@
  * may not use this file except in compliance with the License.  You can
  * obtain a copy of the License at
- * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
- * or packager/legal/LICENSE.txt.  See the License for the specific
+ * https://oss.oracle.com/licenses/CDDL+GPL-1.1
+ * or LICENSE.txt.  See the License for the specific
  * language governing permissions and limitations under the License.
  *
  * When distributing the software, include this License Header Notice in each
- * file and include the License file at packager/legal/LICENSE.txt.
+ * file and include the License file at LICENSE.txt.
  *
  * GPL Classpath Exception:
@@ -51,5 +51,4 @@
  *
  * <p>
- * <a id="JsonReaderExample1"/>
  * The following example demonstrates how to read an empty JSON array from
  * a string:
@@ -75,6 +74,4 @@
  * </code>
  * </pre>
- *
- * @author Jitendra Kotamraju
  */
 public interface JsonReader extends  /*Auto*/Closeable {
@@ -91,6 +88,6 @@
      * @throws javax.json.stream.JsonParsingException if a JSON object or array
      *     cannot be created due to incorrect representation
-     * @throws IllegalStateException if read, readObject, readArray or
-     *     close method is already called
+     * @throws IllegalStateException if read, readObject, readArray,
+     *     readValue or close method is already called
      */
     JsonStructure read();
@@ -107,6 +104,6 @@
      * @throws javax.json.stream.JsonParsingException if a JSON object cannot
      *     be created due to incorrect representation
-     * @throws IllegalStateException if read, readObject, readArray or
-     *     close method is already called
+     * @throws IllegalStateException if read, readObject, readArray,
+     *     readValue or close method is already called
      */
     JsonObject readObject();
@@ -123,8 +120,28 @@
      * @throws javax.json.stream.JsonParsingException if a JSON array cannot
      *     be created due to incorrect representation
-     * @throws IllegalStateException if read, readObject, readArray or
-     *     close method is already called
+     * @throws IllegalStateException if read, readObject, readArray,
+     *     readValue or close method is already called
      */
     JsonArray readArray();
+
+    /**
+     * Returns a JSON value that is represented in
+     * the input source. This method needs to be called
+     * only once for a reader instance.
+     *
+     * @return a JSON value
+     * @throws JsonException if a JSON value
+     *     be created due to i/o error (IOException would be
+     *     cause of JsonException)
+     * @throws javax.json.stream.JsonParsingException if a JSON value
+     *     cannot be created due to incorrect representation
+     * @throws IllegalStateException if read, readObject, readArray,
+     *     readValue or close method is already called
+     *
+     * @since 1.1
+     */
+    default JsonValue readValue() {
+        throw new UnsupportedOperationException();
+    }
 
     /**
