- public String getInterfaceColor() {
- if (interfaceColor == null)
- interfaceColor = Utils.getNextLightColor();
-
- return interfaceColor;
- }
-
- private int getOutgoingReferencesCount() {
- int result = 0;
-
- // count method references
- for (final MethodDescriptor methodDescriptor : methods)
- result += methodDescriptor.getOutsideVisibleReferencesCount();
-
- // count field references
- for (final FieldDescriptor fieldDescriptor : nameToFieldMap.values())
- result += fieldDescriptor.getOutsideVisibleReferencesCount();
-
- // count implemented interfaces
- for (final ClassDescriptor classDescriptor : interfaces)
- if (classDescriptor.isVisible())
- result++;
-
- // count superclass
- if (superClass != null)
- if (superClass.isVisible())
- result++;
-
- return result;
- }
-
- // public String getReadableName() {
- //
- // // do not print full class name for well known system classes
- // final String packageName = getPackageName();
- //
- // if (packageName.equals("java.util"))
- // return getClassName();
- //
- // if (packageName.equals("java.lang"))
- // return getClassName();
- //
- // return fullyQualifiedName;
- // }
-
- public String getPackageName() {
-
- final int i = fullyQualifiedName.lastIndexOf('.');
-
- if (i == -1)
- return "";
-
- return fullyQualifiedName.substring(0, i).replace("[L", "");
- }
-
- public String getParentClassesName() {
- int i = fullyQualifiedName.lastIndexOf('.');
- final String fullClassName = fullyQualifiedName.substring(i + 1);
-
- i = fullClassName.lastIndexOf('$');
- if (i == -1)
- return "";
- final String parentClassesName = fullClassName.substring(0, i);
- return parentClassesName.replace('$', '.');
- }
-
- public String getSuperClassColor() {
- if (superClassColor == null)
- superClassColor = Utils.getNextLightColor();
-
- return superClassColor;
- }
-
- /**
- * Checks if class has field with given name (case is ignored). Returns
- * <code>true</code> if such field is found.
- */
- public boolean hasFieldIgnoreCase(final String fieldToSearch) {
-
- for (final String fieldName : nameToFieldMap.keySet())
- if (fieldToSearch.equalsIgnoreCase(fieldName))
- return true;
-
- return false;
- }
-
- public void hide() {
- isShown = false;
- }
-
- public void hideClassIfNoReferences() {
- if (!isVisible())
- return;
-
- final int totalReferencesCount = getOutgoingReferencesCount()
- + referencesCount + extensionsCount + implementationsCount;
-
- if (totalReferencesCount == 0) {
- hide();
- return;
- }
-
- return;
- }
-
- public void indexFields(final Field[] fields) {
- for (final Field field : fields) {
- if (nameToFieldMap.containsKey(field.getName()))
- continue;
-
- final FieldDescriptor fieldDescriptor = new FieldDescriptor(field,
- this, classGraph);
-
- }
- }
-
- private void indexMethods(final Class<? extends Object> clazz) {
- final Method[] methods = clazz.getMethods();
-
- for (final Method method : methods)
- new MethodDescriptor(method, this, classGraph);
-
- }
-
- @Override
- public boolean isVisible() {
-
- if (Utils.isSystemDataType(fullyQualifiedName))
- return false;
-
- if (Utils.isSystemPackage(fullyQualifiedName))
- return false;
-
- if (!classGraph.getFilter().isClassShown(fullyQualifiedName))
- return false;
-
- return isShown;
- }
-
- /**
- * Register event when another class is extending this one.
- */
- public void registerExtension() {
- extensionsCount++;
- }
-
- public void registerImplementation() {
- implementationsCount++;
- }
-
- public void registerReference() {
- referencesCount++;
- }
-
- public void setDistinctiveColor(final String distinctiveColor) {
- distinctiveReferenceColor = distinctiveColor;
- }