You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2015/01/14 14:02:07 UTC

svn commit: r1651649 - /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java

Author: angela
Date: Wed Jan 14 13:02:07 2015
New Revision: 1651649

URL: http://svn.apache.org/r1651649
Log:
minor improvement (add annotation and handle null states)

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java?rev=1651649&r1=1651648&r2=1651649&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java Wed Jan 14 13:02:07 2015
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.util.Set;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
@@ -48,7 +49,8 @@ import static org.apache.jackrabbit.oak.
  */
 public class TypePredicate implements Predicate<NodeState> {
 
-    public static TypePredicate isOrderable(NodeState root) {
+    @Nonnull
+    public static TypePredicate isOrderable(@Nonnull NodeState root) {
         Set<String> orderable = newHashSet();
         NodeState types = checkNotNull(root)
                 .getChildNode(JCR_SYSTEM)
@@ -92,8 +94,7 @@ public class TypePredicate implements Pr
      * @param root root node state
      * @param names Oak names of the node types to check for
      */
-    public TypePredicate(
-            @Nonnull NodeState root, @Nonnull Iterable<String> names) {
+    public TypePredicate(@Nonnull NodeState root, @Nonnull Iterable<String> names) {
         this.root = root;
         this.names = names;
     }
@@ -106,8 +107,7 @@ public class TypePredicate implements Pr
      * @param root root node state
      * @param names Oak names of the node types to check for
      */
-    public TypePredicate(
-            @Nonnull NodeState root, @Nonnull String[] names) {
+    public TypePredicate(@Nonnull NodeState root, @Nonnull String[] names) {
         this(root, Arrays.asList(names));
     }
 
@@ -169,15 +169,17 @@ public class TypePredicate implements Pr
     //---------------------------------------------------------< Predicate >--
 
     @Override
-    public boolean apply(NodeState input) {
-        init();
-        if (primaryTypes != null
-                && primaryTypes.contains(input.getName(JCR_PRIMARYTYPE))) {
-            return true;
-        }
-        if (mixinTypes != null
-                && any(input.getNames(JCR_MIXINTYPES), in(mixinTypes))) {
-            return true;
+    public boolean apply(@Nullable NodeState input) {
+        if (input != null) {
+            init();
+            if (primaryTypes != null
+                    && primaryTypes.contains(input.getName(JCR_PRIMARYTYPE))) {
+                return true;
+            }
+            if (mixinTypes != null
+                    && any(input.getNames(JCR_MIXINTYPES), in(mixinTypes))) {
+                return true;
+            }
         }
         return false;
     }