You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by jc...@apache.org on 2013/01/18 11:38:11 UTC

[2/2] git commit: ISIS-305: compareTo methods (when implement Comparable) are automatically hidden

Updated Branches:
  refs/heads/master 5a212be00 -> b1aa11f86


ISIS-305: compareTo methods (when implement Comparable) are automatically hidden


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/b1aa11f8
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/b1aa11f8
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/b1aa11f8

Branch: refs/heads/master
Commit: b1aa11f86f903da95921082260cf26c5c5d7bfb8
Parents: 77f7394
Author: Jeroen van der Wal <je...@stromboli.it>
Authored: Fri Jan 18 11:33:28 2013 +0100
Committer: Jeroen van der Wal <je...@stromboli.it>
Committed: Fri Jan 18 11:33:28 2013 +0100

----------------------------------------------------------------------
 ...emoveJavaLangComparableMethodsFacetFactory.java |   23 +++++++++++++--
 1 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/b1aa11f8/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/ignore/javalang/RemoveJavaLangComparableMethodsFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/ignore/javalang/RemoveJavaLangComparableMethodsFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/ignore/javalang/RemoveJavaLangComparableMethodsFacetFactory.java
index c46f966..5103e9b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/ignore/javalang/RemoveJavaLangComparableMethodsFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/progmodel/facets/object/ignore/javalang/RemoveJavaLangComparableMethodsFacetFactory.java
@@ -19,13 +19,30 @@
 
 package org.apache.isis.core.progmodel.facets.object.ignore.javalang;
 
+import java.lang.reflect.Method;
+
+import org.apache.isis.core.metamodel.facetapi.FeatureType;
+import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
+
 /**
- * Removes all methods inherited from {@link Object}.
+ * Removes all methods called <tt>compareTo</tt>.
  */
-public class RemoveJavaLangComparableMethodsFacetFactory extends AbstractRemoveMethodsFacetFactory {
+public class RemoveJavaLangComparableMethodsFacetFactory extends FacetFactoryAbstract {
 
     public RemoveJavaLangComparableMethodsFacetFactory() {
-        super(Comparable.class);
+        super(FeatureType.OBJECTS_ONLY);
+    }
+
+    @Override
+    public void process(final ProcessClassContext processClassContext) {
+        super.process(processClassContext);
+        Class<?> cls = processClassContext.getCls();
+        Method[] declaredMethods = cls.getDeclaredMethods();
+        for (Method method : declaredMethods) {
+            if(method.getName().equals("compareTo")) {
+                processClassContext.removeMethod(method);
+            }
+        }
     }
 
 }