From b15cb3ac8fffd3db84086c87d7fd1ae6c73f7cc9 Mon Sep 17 00:00:00 2001 From: Kalle Stenflo Date: Fri, 6 Sep 2013 10:22:50 +0200 Subject: [PATCH] API clean up. Reduce static method overloading by fluent API. --- .../com/jayway/jsonpath/Configuration.java | 82 +++++++ .../java/com/jayway/jsonpath/Criteria.java | 173 +++++++------- .../main/java/com/jayway/jsonpath/Filter.java | 37 ++- .../jsonpath/InvalidConversionException.java | 14 ++ .../java/com/jayway/jsonpath/JsonModel.java | 102 +++----- .../java/com/jayway/jsonpath/JsonPath.java | 222 +++++++----------- .../main/java/com/jayway/jsonpath/Option.java | 13 + .../com/jayway/jsonpath/ParseContext.java | 20 ++ .../jsonpath/PathNotFoundException.java | 14 ++ .../java/com/jayway/jsonpath/ReadContext.java | 15 ++ .../jayway/jsonpath/internal/JsonReader.java | 107 +++++++++ .../jayway/jsonpath/internal/PathToken.java | 10 +- .../jsonpath/internal/PathTokenizer.java | 1 - .../internal/filter/ArrayEvalFilter.java | 15 +- .../internal/filter/ArrayIndexFilter.java | 15 +- .../internal/filter/ArrayQueryFilter.java | 10 +- .../jsonpath/internal/filter/FieldFilter.java | 20 +- .../internal/filter/HasFieldFilter.java | 6 +- .../internal/filter/PassthroughFilter.java | 7 +- .../internal/filter/PathTokenFilter.java | 10 +- .../jsonpath/internal/filter/ScanFilter.java | 6 +- .../internal/filter/WildcardFilter.java | 6 +- .../spi/impl/AbstractJsonProvider.java | 1 - .../com/jayway/jsonpath/ArraySlicingTest.java | 5 +- .../jayway/jsonpath/ExpressionEvalTest.java | 12 +- .../java/com/jayway/jsonpath/FilterTest.java | 9 +- .../java/com/jayway/jsonpath/IssuesTest.java | 17 +- .../com/jayway/jsonpath/JsonModelTest.java | 1 - .../java/com/jayway/jsonpath/PathTest.java | 5 + .../reader/ReadConfigurationTest.java | 43 ++++ 30 files changed, 647 insertions(+), 351 deletions(-) create mode 100644 json-path/src/main/java/com/jayway/jsonpath/Configuration.java create mode 100644 json-path/src/main/java/com/jayway/jsonpath/Option.java create mode 100644 json-path/src/main/java/com/jayway/jsonpath/ParseContext.java create mode 100644 json-path/src/main/java/com/jayway/jsonpath/ReadContext.java create mode 100644 json-path/src/main/java/com/jayway/jsonpath/internal/JsonReader.java create mode 100644 json-path/src/test/java/com/jayway/jsonpath/reader/ReadConfigurationTest.java diff --git a/json-path/src/main/java/com/jayway/jsonpath/Configuration.java b/json-path/src/main/java/com/jayway/jsonpath/Configuration.java new file mode 100644 index 00000000..650cf7d0 --- /dev/null +++ b/json-path/src/main/java/com/jayway/jsonpath/Configuration.java @@ -0,0 +1,82 @@ +package com.jayway.jsonpath; + +import com.jayway.jsonpath.spi.JsonProvider; +import com.jayway.jsonpath.spi.JsonProviderFactory; + +import java.util.Arrays; +import java.util.Collections; +import java.util.EnumSet; +import java.util.Set; + +import static org.apache.commons.lang3.Validate.notNull; + +/** + * User: kalle + * Date: 8/30/13 + * Time: 12:05 PM + */ +public class Configuration { + + + private final JsonProvider provider; + private final EnumSet