JSEC-15 - applied patch code w/ minor modification

git-svn-id: https://svn.apache.org/repos/asf/incubator/jsecurity/trunk@738001 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/org/jsecurity/authz/permission/WildcardPermission.java b/core/src/org/jsecurity/authz/permission/WildcardPermission.java
index aaf8f0a..09eb1cb 100644
--- a/core/src/org/jsecurity/authz/permission/WildcardPermission.java
+++ b/core/src/org/jsecurity/authz/permission/WildcardPermission.java
@@ -102,6 +102,7 @@
  *
  * @author Jeremy Haile
  * @author Les Hazlewood
+ * @author Dain Sundstrom
  * @since 0.9
  */
 public class WildcardPermission implements Permission, Serializable {
@@ -216,4 +217,28 @@
 
         return true;
     }
+
+    public String toString() {
+        StringBuilder buffer = new StringBuilder();
+        for (Set<String> part : parts) {
+            if (buffer.length() > 0) {
+                buffer.append(":");
+            }
+            buffer.append(part);
+        }
+        return buffer.toString();
+    }
+
+    public boolean equals(Object o) {
+        if (o instanceof WildcardPermission) {
+            WildcardPermission wp = (WildcardPermission) o;
+            return parts.equals(wp.parts);
+        }
+        return false;
+    }
+
+    public int hashCode() {
+        return parts.hashCode();
+    }
+
 }