X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Finspector%2Fjava%2Fstructure%2FMethodDescriptor.java;h=5e03b6b1b82e7cbaabe179e9b06a4c35dfcabf81;hb=8285a2e198a01177b14e528f8e12de2f7d5273e9;hp=35e49d5071ababb2e4b57701e2e030efa23aed7e;hpb=d717e90f4c46e26f9f54ba5638aade6688527bf4;p=javainspect.git diff --git a/src/main/java/eu/svjatoslav/inspector/java/structure/MethodDescriptor.java b/src/main/java/eu/svjatoslav/inspector/java/structure/MethodDescriptor.java index 35e49d5..5e03b6b 100644 --- a/src/main/java/eu/svjatoslav/inspector/java/structure/MethodDescriptor.java +++ b/src/main/java/eu/svjatoslav/inspector/java/structure/MethodDescriptor.java @@ -15,7 +15,12 @@ import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; -public class MethodDescriptor implements GraphElement { +public class MethodDescriptor implements GraphElement, +Comparable { + + /** + * This class corresponds to single method within a java class. + */ public String name; public ClassDescriptor returnType; @@ -52,7 +57,6 @@ public class MethodDescriptor implements GraphElement { } } - } @Override @@ -112,6 +116,19 @@ public class MethodDescriptor implements GraphElement { return name; } + public int getOutsideVisibleReferencesCount() { + int result = 0; + + if (returnType.isVisible()) + result++; + + for (final ClassDescriptor classDescriptor : typeArguments) + if (classDescriptor.isVisible()) + result++; + + return result; + } + @Override public boolean isVisible() { @@ -137,4 +154,14 @@ public class MethodDescriptor implements GraphElement { return true; } + @Override + public int compareTo(MethodDescriptor o) { + + int nameComparisonResult = name.compareTo(o.name); + if (nameComparisonResult != 0) + return nameComparisonResult; + + return toString().compareTo(o.toString()); + } + }