diff --git a/README.md b/README.md index bf705064..5efe798c 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ Filters are logical expressions used to filter arrays. A typical filter would be | =~ | left matches regular expression [?(@.name =~ /foo.*?/i)] | | in | left exists in right [?(@.size in ['S', 'M'])] | | nin | left does not exists in right | -| subset | left is a subset of right [?(@.sizes subset ['S', 'M', 'L'])] | +| subsetof | left is a subset of right [?(@.sizes subsetof ['S', 'M', 'L'])] | | size | size of left (array or string) should match right | | empty | left (array or string) should be empty | diff --git a/json-path/src/main/java/com/jayway/jsonpath/Criteria.java b/json-path/src/main/java/com/jayway/jsonpath/Criteria.java index 789b2a83..92f9b2bc 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/Criteria.java +++ b/json-path/src/main/java/com/jayway/jsonpath/Criteria.java @@ -268,28 +268,28 @@ public class Criteria implements Predicate { } /** - * The subset operator selects objects for which the specified field is + * The subsetof operator selects objects for which the specified field is * an array whose elements comprise a subset of the set comprised by the elements of * the specified array. * * @param o the values to match against * @return the criteria */ - public Criteria subset(Object... o) { - return subset(Arrays.asList(o)); + public Criteria subsetof(Object... o) { + return subsetof(Arrays.asList(o)); } /** - * The subset operator selects objects for which the specified field is + * The subsetof operator selects objects for which the specified field is * an array whose elements comprise a subset of the set comprised by the elements of * the specified array. * * @param c the values to match against * @return the criteria */ - public Criteria subset(Collection c) { + public Criteria subsetof(Collection c) { notNull(c, "collection can not be null"); - this.criteriaType = RelationalOperator.SUBSET; + this.criteriaType = RelationalOperator.SUBSETOF; this.right = new ValueNode.ValueListNode(c); return this; } diff --git a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/EvaluatorFactory.java b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/EvaluatorFactory.java index 2491a159..ac47274a 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/EvaluatorFactory.java +++ b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/EvaluatorFactory.java @@ -29,7 +29,7 @@ public class EvaluatorFactory { evaluators.put(RelationalOperator.CONTAINS, new ContainsEvaluator()); evaluators.put(RelationalOperator.MATCHES, new PredicateMatchEvaluator()); evaluators.put(RelationalOperator.TYPE, new TypeEvaluator()); - evaluators.put(RelationalOperator.SUBSET, new SubsetEvaluator()); + evaluators.put(RelationalOperator.SUBSETOF, new SubsetOfEvaluator()); } public static Evaluator createEvaluator(RelationalOperator operator){ @@ -266,7 +266,7 @@ public class EvaluatorFactory { } } - private static class SubsetEvaluator implements Evaluator { + private static class SubsetOfEvaluator implements Evaluator { @Override public boolean evaluate(ValueNode left, ValueNode right, Predicate.PredicateContext ctx) { ValueNode.ValueListNode rightValueListNode; @@ -291,7 +291,7 @@ public class EvaluatorFactory { } else { leftValueListNode = left.asValueListNode(); } - return leftValueListNode.subset(rightValueListNode); + return leftValueListNode.subsetof(rightValueListNode); } } diff --git a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/RelationalOperator.java b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/RelationalOperator.java index d8ff484c..830cc3bb 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/RelationalOperator.java +++ b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/RelationalOperator.java @@ -30,7 +30,7 @@ public enum RelationalOperator { TYPE("TYPE"), MATCHES("MATCHES"), EMPTY("EMPTY"), - SUBSET("SUBSET"); + SUBSETOF("SUBSETOF"); private final String operatorString; diff --git a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java index 9aac34a4..308a453a 100644 --- a/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java +++ b/json-path/src/main/java/com/jayway/jsonpath/internal/filter/ValueNode.java @@ -714,7 +714,7 @@ public abstract class ValueNode { return nodes.contains(node); } - public boolean subset(ValueListNode right) { + public boolean subsetof(ValueListNode right) { for (ValueNode leftNode : nodes) { if (!right.nodes.contains(leftNode)) { return false;