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;