You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by sa...@apache.org on 2015/07/19 22:20:23 UTC
svn commit: r1691851 - in /geronimo/specs/trunk/geronimo-json_1.1_spec: ./
src/main/java/javax/json/ src/main/java/javax/json/spi/
src/main/java/javax/json/stream/
Author: salyh
Date: Sun Jul 19 20:20:22 2015
New Revision: 1691851
URL: http://svn.apache.org/r1691851
Log:
Introduce JSONP 1.1 (JSR 374) Spec API skeleton
Added:
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonMergePatch.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatch.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatchBuilder.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPointer.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonUtil.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonCollectors.java
Modified:
geronimo/specs/trunk/geronimo-json_1.1_spec/pom.xml
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/Json.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonArrayBuilder.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonBuilderFactory.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonObjectBuilder.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonReader.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonStructure.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonValue.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonWriter.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/spi/JsonProvider.java
geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonParser.java
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/pom.xml?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/pom.xml (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/pom.xml Sun Jul 19 20:20:22 2015
@@ -20,17 +20,17 @@
<parent>
<groupId>org.apache.geronimo.genesis</groupId>
- <artifactId>genesis-java6-flava</artifactId>
- <version>2.2</version>
+ <artifactId>genesis-java8-flava</artifactId>
+ <version>2.3-SNAPSHOT</version>
</parent>
<groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-json_1.0_spec</artifactId>
+ <artifactId>geronimo-json_1.1_spec</artifactId>
<packaging>bundle</packaging>
- <name>Apache Geronimo JSon Spec 1.0</name>
+ <name>Apache Geronimo JSon Spec 1.1</name>
<version>1.0-SNAPSHOT</version>
- <description>Apache Geronimo implementation of the JSR-353</description>
+ <description>Apache Geronimo implementation of the JSR-374</description>
<url>http://geronimo.apache.org/maven/${siteId}/${project.version}</url>
<distributionManagement>
@@ -45,9 +45,9 @@
</properties>
<scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-json_1.0_spec/</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-json_1.0_spec/</developerConnection>
- <url>http://svn.apache.org/viewcvs.cgi/geronimo/specs/trunk/geronimo-json_1.0_spec/</url>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-json_1.1_spec/</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-json_1.1_spec/</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/geronimo/specs/trunk/geronimo-json_1.1_spec/</url>
</scm>
<!-- added so the build can find staged depends -->
@@ -73,11 +73,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <target>1.6</target>
- <source>1.6</source>
- </configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/Json.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/Json.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/Json.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/Json.java Sun Jul 19 20:20:22 2015
@@ -21,10 +21,13 @@ import javax.json.stream.JsonGenerator;
import javax.json.stream.JsonGeneratorFactory;
import javax.json.stream.JsonParser;
import javax.json.stream.JsonParserFactory;
+
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.util.Map;
public class Json {
@@ -91,4 +94,36 @@ public class Json {
public static JsonBuilderFactory createBuilderFactory(Map<String, ?> config) {
return JsonProvider.provider().createBuilderFactory(config);
}
+
+ public static JsonArrayBuilder createArrayBuilder(JsonArray array) {
+ return JsonProvider.provider().createArrayBuilder(array);
+ }
+
+ public static JsonObjectBuilder createObjectBuilder(JsonObject object) {
+ return JsonProvider.provider().createObjectBuilder(object);
+ }
+
+ public static JsonString createValue(String value) {
+ return JsonProvider.provider().createValue(value);
+ }
+
+ public static JsonNumber createValue(int value) {
+ return JsonProvider.provider().createValue(value);
+ }
+
+ public static JsonNumber createValue(long value) {
+ return JsonProvider.provider().createValue(value);
+ }
+
+ public static JsonNumber createValue(double value) {
+ return JsonProvider.provider().createValue(value);
+ }
+
+ public static JsonNumber createValue(BigDecimal value) {
+ return JsonProvider.provider().createValue(value);
+ }
+
+ public static JsonNumber createValue(BigInteger value) {
+ return JsonProvider.provider().createValue(value);
+ }
}
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonArrayBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonArrayBuilder.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonArrayBuilder.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonArrayBuilder.java Sun Jul 19 20:20:22 2015
@@ -43,4 +43,52 @@ public interface JsonArrayBuilder {
JsonArrayBuilder add(JsonArrayBuilder builder);
JsonArray build();
+
+ JsonArrayBuilder addAll(JsonArrayBuilder builder);
+
+ JsonArrayBuilder add(int index, JsonValue value);
+
+ JsonArrayBuilder add(int index, String value);
+
+ JsonArrayBuilder add(int index, BigDecimal value);
+
+ JsonArrayBuilder add(int index, BigInteger value);
+
+ JsonArrayBuilder add(int index, int value);
+
+ JsonArrayBuilder add(int index, long value);
+
+ JsonArrayBuilder add(int index, double value);
+
+ JsonArrayBuilder add(int index, boolean value);
+
+ JsonArrayBuilder addNull(int index);
+
+ JsonArrayBuilder add(int index, JsonObjectBuilder builder);
+
+ JsonArrayBuilder add(int index, JsonArrayBuilder builder);
+
+ JsonArrayBuilder set(int index, JsonValue value);
+
+ JsonArrayBuilder set(int index, String value);
+
+ JsonArrayBuilder set(int index, BigDecimal value);
+
+ JsonArrayBuilder set(int index, BigInteger value);
+
+ JsonArrayBuilder set(int index, int value);
+
+ JsonArrayBuilder set(int index, long value);
+
+ JsonArrayBuilder set(int index, double value);
+
+ JsonArrayBuilder set(int index, boolean value);
+
+ JsonArrayBuilder setNull(int index);
+
+ JsonArrayBuilder set(int index, JsonObjectBuilder builder);
+
+ JsonArrayBuilder set(int index, JsonArrayBuilder builder);
+
+ JsonArrayBuilder remove(int index);
}
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonBuilderFactory.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonBuilderFactory.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonBuilderFactory.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonBuilderFactory.java Sun Jul 19 20:20:22 2015
@@ -24,5 +24,9 @@ public interface JsonBuilderFactory {
JsonArrayBuilder createArrayBuilder();
Map<String, ?> getConfigInUse();
+
+ JsonObjectBuilder createObjectBuilder(JsonObject object);
+
+ JsonArrayBuilder createArrayBuilder(JsonArray array);
}
Added: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonMergePatch.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonMergePatch.java?rev=1691851&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonMergePatch.java (added)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonMergePatch.java Sun Jul 19 20:20:22 2015
@@ -0,0 +1,31 @@
+/*
+ * 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.json;
+
+public class JsonMergePatch {
+
+ public static JsonValue mergePatch(JsonValue target, JsonValue patch) {
+
+ return null;
+ }
+
+ public static JsonValue diff(JsonValue source, JsonValue target) {
+ return null;
+ }
+}
+
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonObjectBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonObjectBuilder.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonObjectBuilder.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonObjectBuilder.java Sun Jul 19 20:20:22 2015
@@ -43,4 +43,8 @@ public interface JsonObjectBuilder {
JsonObjectBuilder add(String name, JsonArrayBuilder builder);
JsonObject build();
+
+ JsonObjectBuilder addAll(JsonObjectBuilder builder);
+
+ JsonObjectBuilder remove(String name);
}
Added: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatch.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatch.java?rev=1691851&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatch.java (added)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatch.java Sun Jul 19 20:20:22 2015
@@ -0,0 +1,56 @@
+/*
+ * 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.json;
+
+public class JsonPatch {
+
+ public JsonPatch(JsonArray patch) {
+
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return super.equals(obj);
+ }
+
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return super.toString();
+ }
+
+ public JsonStructure apply(JsonStructure target) {
+ return null;
+ }
+ public JsonObject apply(JsonObject target) {
+ return (JsonObject) apply((JsonStructure)target);
+ }
+
+ public JsonArray apply(JsonArray target) {
+ return (JsonArray) apply((JsonStructure)target);
+ }
+
+ public static JsonArray diff(JsonStructure source, JsonStructure target) {
+ return null;
+ }
+}
+
Added: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatchBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatchBuilder.java?rev=1691851&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatchBuilder.java (added)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPatchBuilder.java Sun Jul 19 20:20:22 2015
@@ -0,0 +1,107 @@
+/*
+ * 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.json;
+
+public class JsonPatchBuilder {
+
+ public JsonPatchBuilder(JsonArray patch) {
+
+ }
+
+ public JsonPatchBuilder() {
+
+ }
+
+ public JsonStructure apply(JsonStructure target) {
+ return new JsonPatch(build()).apply(target);
+ }
+
+ public JsonObject apply(JsonObject target) {
+ return new JsonPatch(build()).apply(target);
+ }
+
+ public JsonArray apply(JsonArray target) {
+ return new JsonPatch(build()).apply(target);
+ }
+
+ public JsonPatchBuilder add(String path, JsonValue value) {
+ return null;
+ }
+
+ public JsonPatchBuilder add(String path, String value) {
+ return null;
+ }
+
+ public JsonPatchBuilder add(String path, int value) {
+ return null;
+ }
+
+ public JsonPatchBuilder add(String path, boolean value) {
+ return null;
+ }
+
+ public JsonPatchBuilder remove(String path) {
+ return null;
+ }
+
+ public JsonPatchBuilder replace(String path, JsonValue value) {
+ return null;
+ }
+
+ public JsonPatchBuilder replace(String path, String value) {
+ return null;
+ }
+
+ public JsonPatchBuilder replace(String path, int value) {
+ return null;
+ }
+
+ public JsonPatchBuilder replace(String path, boolean value) {
+ return null;
+ }
+
+ public JsonPatchBuilder move(String path, String from) {
+ return null;
+ }
+
+ public JsonPatchBuilder copy(String path, String from) {
+ return null;
+ }
+
+
+ public JsonPatchBuilder test(String path, JsonValue value) {
+ return null;
+ }
+
+ public JsonPatchBuilder test(String path, String value) {
+ return null;
+ }
+
+ public JsonPatchBuilder test(String path, int value) {
+ return null;
+ }
+
+ public JsonPatchBuilder test(String path, boolean value) {
+ return null;
+ }
+
+ public JsonArray build() {
+ return null;
+ }
+}
+
Added: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPointer.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPointer.java?rev=1691851&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPointer.java (added)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonPointer.java Sun Jul 19 20:20:22 2015
@@ -0,0 +1,75 @@
+/*
+ * 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.json;
+
+public final class JsonPointer {
+
+ public JsonPointer(String jsonPointer) {
+
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return super.equals(obj);
+ }
+
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
+
+ public JsonValue getValue(JsonStructure target) {
+ return null;
+ }
+
+ public JsonStructure add(JsonStructure target, JsonValue value) {
+ return null;
+ }
+
+ public JsonStructure replace(JsonStructure target, JsonValue value) {
+ return null;
+ }
+
+ public JsonStructure remove(JsonStructure target) {
+ return null;
+ }
+
+ public JsonObject add(JsonObject target, JsonValue value) {
+ return (JsonObject) add((JsonStructure) target, value);
+ }
+
+ public JsonArray add(JsonArray target, JsonValue value) {
+ return (JsonArray) add((JsonStructure) target, value);
+ }
+
+ public JsonObject replace(JsonObject target, JsonValue value) {
+ return (JsonObject) replace((JsonStructure) target, value);
+ }
+
+ public JsonArray replace(JsonArray target, JsonValue value) {
+ return (JsonArray) replace((JsonStructure) target, value);
+ }
+
+ public JsonObject remove(JsonObject target) {
+ return (JsonObject) remove((JsonStructure) target);
+ }
+
+ public JsonArray remove(JsonArray target) {
+ return (JsonArray) remove((JsonStructure) target);
+ }
+}
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonReader.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonReader.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonReader.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonReader.java Sun Jul 19 20:20:22 2015
@@ -27,4 +27,8 @@ public interface JsonReader extends Clos
@Override
void close();
+
+ default JsonValue readValue() {
+ throw new UnsupportedOperationException();
+ }
}
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonStructure.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonStructure.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonStructure.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonStructure.java Sun Jul 19 20:20:22 2015
@@ -17,4 +17,8 @@
package javax.json;
public interface JsonStructure extends JsonValue {
+
+ default public JsonValue getValue(String jsonPointer) {
+ return new JsonPointer(jsonPointer).getValue(this);
+ }
}
Added: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonUtil.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonUtil.java?rev=1691851&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonUtil.java (added)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonUtil.java Sun Jul 19 20:20:22 2015
@@ -0,0 +1,26 @@
+/*
+ * 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.json;
+
+public class JsonUtil {
+
+ public static JsonValue toJson(String jsonString) {
+ return null;
+ }
+}
+
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonValue.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonValue.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonValue.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonValue.java Sun Jul 19 20:20:22 2015
@@ -17,6 +17,17 @@
package javax.json;
public interface JsonValue {
+
+ /**
+ * The empty JSON object.
+ */
+ static final JsonObject EMPTY_JSON_OBJECT = Json.createObjectBuilder().build();
+
+ /**
+ * The empty JSON array.
+ */
+ static final JsonArray EMPTY_JSON_ARRAY = Json.createArrayBuilder().build();
+
static final JsonValue NULL = new JsonValue() {
@Override
public ValueType getValueType() {
@@ -92,4 +103,12 @@ public interface JsonValue {
TRUE, FALSE,
NULL
}
+
+ default JsonObject asJsonObject() {
+ return JsonObject.class.cast(this);
+ }
+
+ default JsonArray asJsonArray() {
+ return JsonArray.class.cast(this);
+ }
}
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonWriter.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonWriter.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonWriter.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/JsonWriter.java Sun Jul 19 20:20:22 2015
@@ -27,4 +27,6 @@ public interface JsonWriter extends Clos
@Override
void close();
+
+ void write(JsonValue value);
}
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/spi/JsonProvider.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/spi/JsonProvider.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/spi/JsonProvider.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/spi/JsonProvider.java Sun Jul 19 20:20:22 2015
@@ -16,18 +16,23 @@
*/
package javax.json.spi;
+import javax.json.JsonArray;
import javax.json.JsonArrayBuilder;
import javax.json.JsonBuilderFactory;
import javax.json.JsonException;
+import javax.json.JsonNumber;
+import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonReader;
import javax.json.JsonReaderFactory;
+import javax.json.JsonString;
import javax.json.JsonWriter;
import javax.json.JsonWriterFactory;
import javax.json.stream.JsonGenerator;
import javax.json.stream.JsonGeneratorFactory;
import javax.json.stream.JsonParser;
import javax.json.stream.JsonParserFactory;
+
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
@@ -36,6 +41,8 @@ import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
import java.lang.reflect.Method;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.net.URL;
import java.security.AccessController;
import java.security.PrivilegedAction;
@@ -162,5 +169,37 @@ public abstract class JsonProvider {
public abstract JsonArrayBuilder createArrayBuilder();
public abstract JsonBuilderFactory createBuilderFactory(Map<String, ?> config);
+
+ public JsonObjectBuilder createObjectBuilder(JsonObject object) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JsonArrayBuilder createArrayBuilder(JsonArray array) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JsonString createValue(String value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JsonNumber createValue(int value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JsonNumber createValue(long value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JsonNumber createValue(double value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JsonNumber createValue(BigDecimal value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public JsonNumber createValue(BigInteger value) {
+ throw new UnsupportedOperationException();
+ }
}
Added: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonCollectors.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonCollectors.java?rev=1691851&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonCollectors.java (added)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonCollectors.java Sun Jul 19 20:20:22 2015
@@ -0,0 +1,57 @@
+/*
+ * 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.json.stream;
+
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collector;
+
+import javax.json.JsonArray;
+import javax.json.JsonArrayBuilder;
+import javax.json.JsonObject;
+import javax.json.JsonObjectBuilder;
+import javax.json.JsonValue;
+
+public class JsonCollectors {
+
+ private JsonCollectors() {
+ }
+
+ public static Collector<JsonValue, JsonArrayBuilder, JsonArray> toJsonArray() {
+ return null;
+ }
+
+ public static Collector<JsonValue, JsonObjectBuilder, JsonObject>
+ toJsonObject(Function<JsonValue, String> keyMapper,
+ Function<JsonValue, JsonValue> valueMapper) {
+ return null;
+ }
+
+ public static Collector<JsonValue, Map<String, JsonArrayBuilder>, JsonObject>
+ groupingBy(Function<JsonValue, String> classifier,
+ Collector<JsonValue, JsonArrayBuilder, JsonArray> downstream) {
+
+ return null;
+ }
+
+ public static Collector<JsonValue, Map<String, JsonArrayBuilder>, JsonObject>
+ groupingBy(Function<JsonValue, String> classifier) {
+ return null;
+ }
+}
+
Modified: geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonParser.java
URL: http://svn.apache.org/viewvc/geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonParser.java?rev=1691851&r1=1691850&r2=1691851&view=diff
==============================================================================
--- geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonParser.java (original)
+++ geronimo/specs/trunk/geronimo-json_1.1_spec/src/main/java/javax/json/stream/JsonParser.java Sun Jul 19 20:20:22 2015
@@ -18,6 +18,12 @@ package javax.json.stream;
import java.io.Closeable;
import java.math.BigDecimal;
+import java.util.Map;
+import java.util.stream.Stream;
+
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonValue;
public interface JsonParser extends Closeable {
boolean hasNext();
@@ -45,5 +51,37 @@ public interface JsonParser extends Clos
VALUE_STRING, VALUE_NUMBER, VALUE_TRUE, VALUE_FALSE, VALUE_NULL,
END_OBJECT, END_ARRAY
}
+
+ default public JsonObject getObject() {
+ throw new UnsupportedOperationException();
+ }
+
+ default public JsonValue getValue() {
+ throw new UnsupportedOperationException();
+ }
+
+ default public JsonArray getArray() {
+ throw new UnsupportedOperationException();
+ }
+
+ default public Stream<JsonValue> getArrayStream() {
+ throw new UnsupportedOperationException();
+ }
+
+ default public Stream<Map.Entry<String,JsonValue>> getObjectStream() {
+ throw new UnsupportedOperationException();
+ }
+
+ default public Stream<JsonValue> getValueStream() {
+ throw new UnsupportedOperationException();
+ }
+
+ default public void skipArray() {
+ throw new UnsupportedOperationException();
+ }
+
+ default public void skipObject() {
+ throw new UnsupportedOperationException();
+ }
}