You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ds...@apache.org on 2009/09/11 23:16:36 UTC

svn commit: r814035 - in /felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi: AbstractExpr.java And.java Cardinality.java ExprVisitor.java LDAPExpr.java Not.java Or.java SimpleTerm.java

Author: dsavage
Date: Fri Sep 11 21:16:33 2009
New Revision: 814035

URL: http://svn.apache.org/viewvc?rev=814035&view=rev
Log:
tidy up visitor pattern for ldap classes so it actually does what you'd expect
also delete unused Cardinality class

Added:
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/AbstractExpr.java
Removed:
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Cardinality.java
Modified:
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/And.java
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/ExprVisitor.java
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/LDAPExpr.java
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Not.java
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Or.java
    felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/SimpleTerm.java

Added: felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/AbstractExpr.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/AbstractExpr.java?rev=814035&view=auto
==============================================================================
--- felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/AbstractExpr.java (added)
+++ felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/AbstractExpr.java Fri Sep 11 21:16:33 2009
@@ -0,0 +1,30 @@
+/*
+ * 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 org.apache.felix.sigil.common.osgi;
+
+public abstract class AbstractExpr implements LDAPExpr
+{
+    public void visit(ExprVisitor visitor) {
+        visitor.visitExpr(this);
+        for ( LDAPExpr expr : getChildren() ) {
+            visitor.visitExpr( expr );
+        }
+    }
+}

Modified: felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/And.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/And.java?rev=814035&r1=814034&r2=814035&view=diff
==============================================================================
--- felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/And.java (original)
+++ felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/And.java Fri Sep 11 21:16:33 2009
@@ -23,7 +23,7 @@
 import java.util.Map;
 
 
-public class And implements LDAPExpr
+public class And extends AbstractExpr
 {
 
     /**
@@ -91,12 +91,6 @@
     }
 
 
-    public void visit( ExprVisitor v )
-    {
-        v.visitAnd( this );
-    }
-
-
     public LDAPExpr[] getChildren()
     {
         return children;

Modified: felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/ExprVisitor.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/ExprVisitor.java?rev=814035&r1=814034&r2=814035&view=diff
==============================================================================
--- felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/ExprVisitor.java (original)
+++ felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/ExprVisitor.java Fri Sep 11 21:16:33 2009
@@ -22,19 +22,5 @@
 
 public interface ExprVisitor
 {
-
-    void visitAnd( And a );
-
-
-    void visitOr( Or o );
-
-
-    void visitNot( Not n );
-
-
-    void visitSimple( SimpleTerm st );
-
-
-    // if none of the above matches use this
-    void visitAny( LDAPExpr ex );
+    void visitExpr(LDAPExpr expr);
 }

Modified: felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/LDAPExpr.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/LDAPExpr.java?rev=814035&r1=814034&r2=814035&view=diff
==============================================================================
--- felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/LDAPExpr.java (original)
+++ felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/LDAPExpr.java Fri Sep 11 21:16:33 2009
@@ -27,8 +27,8 @@
 public interface LDAPExpr extends Serializable
 {
 
-    public static final LDAPExpr[] CHILDLESS = new LDAPExpr[]
-        {};
+    public static final LDAPExpr[] CHILDLESS = new LDAPExpr[0];
+    
     public static LDAPExpr ACCEPT_ALL = Expressions.T;
 
 

Modified: felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Not.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Not.java?rev=814035&r1=814034&r2=814035&view=diff
==============================================================================
--- felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Not.java (original)
+++ felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Not.java Fri Sep 11 21:16:33 2009
@@ -23,7 +23,7 @@
 import java.util.Map;
 
 
-public class Not implements LDAPExpr
+public class Not extends AbstractExpr
 {
 
     /**
@@ -70,12 +70,6 @@
     }
 
 
-    public void visit( ExprVisitor v )
-    {
-        v.visitNot( this );
-    }
-
-
     public LDAPExpr[] getChildren()
     {
         return children;

Modified: felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Or.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Or.java?rev=814035&r1=814034&r2=814035&view=diff
==============================================================================
--- felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Or.java (original)
+++ felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/Or.java Fri Sep 11 21:16:33 2009
@@ -23,7 +23,7 @@
 import java.util.Map;
 
 
-public class Or implements LDAPExpr
+public class Or extends AbstractExpr
 {
 
     /**
@@ -92,12 +92,6 @@
     }
 
 
-    public void visit( ExprVisitor v )
-    {
-        v.visitOr( this );
-    }
-
-
     public LDAPExpr[] getChildren()
     {
         return children;

Modified: felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/SimpleTerm.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/SimpleTerm.java?rev=814035&r1=814034&r2=814035&view=diff
==============================================================================
--- felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/SimpleTerm.java (original)
+++ felix/trunk/sigil/common/osgi/src/org/apache/felix/sigil/common/osgi/SimpleTerm.java Fri Sep 11 21:16:33 2009
@@ -26,7 +26,7 @@
 import java.util.Vector;
 
 
-public class SimpleTerm implements LDAPExpr
+public class SimpleTerm extends AbstractExpr
 {
 
     /**
@@ -297,12 +297,6 @@
     }
 
 
-    public void visit( ExprVisitor v )
-    {
-        v.visitSimple( this );
-    }
-
-
     public LDAPExpr[] getChildren()
     {
         return CHILDLESS;