import java.util.ArrayList;
import java.util.List;
-public class MethodDescriptor implements GraphElement {
+public class MethodDescriptor implements GraphElement,
+Comparable<MethodDescriptor> {
+
+ /**
+ * This class corresponds to single method within a java class.
+ */
public String name;
public ClassDescriptor returnType;
}
}
-
}
@Override
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() {
return true;
}
+ @Override
+ public int compareTo(MethodDescriptor o) {
+
+ int nameComparisonResult = name.compareTo(o.name);
+ if (nameComparisonResult != 0)
+ return nameComparisonResult;
+
+ return toString().compareTo(o.toString());
+ }
+
}