hide "is" getter fields for booleans of the same name
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / structure / FieldDescriptor.java
index 2cbb47c..db5a112 100644 (file)
@@ -17,15 +17,19 @@ import java.util.List;
 
 public class FieldDescriptor implements GraphElement {
 
+       /**
+        * This class corresponds to single field within a java class.
+        */
+
        public String name;
-       public ClassDescriptor type;
-       private ClassDescriptor parent;
+       private ClassDescriptor type;
+       private ClassDescriptor parentClass;
        List<ClassDescriptor> typeArguments = new ArrayList<ClassDescriptor>();
 
        public FieldDescriptor(final Field field, final ClassDescriptor parent,
                        final ClassGraph dump) {
 
-               this.parent = parent;
+               parentClass = parent;
 
                if (!field.getDeclaringClass().getName()
                                .equals(parent.fullyQualifiedName))
@@ -79,10 +83,10 @@ public class FieldDescriptor implements GraphElement {
                // main type
                boolean showLink = type.areReferencesShown();
 
-               if (type == parent)
+               if (type == parentClass)
                        showLink = false;
 
-               if (parent.isEnum)
+               if (parentClass.isEnum)
                        showLink = false;
 
                if (showLink)
@@ -102,7 +106,7 @@ public class FieldDescriptor implements GraphElement {
                final StringBuffer result = new StringBuffer();
 
                result.append("        // " + name + "\n");
-               if (parent.isEnum && (type == parent)) {
+               if (parentClass.isEnum && (type == parentClass)) {
                        result.append("        <TR><TD colspan=\"2\" PORT=\"" + name);
                        result.append("\" ALIGN=\"left\"><FONT POINT-SIZE=\"11.0\">");
                        result.append(name + "</FONT></TD></TR>\n");
@@ -119,7 +123,23 @@ public class FieldDescriptor implements GraphElement {
 
        @Override
        public String getGraphId() {
-               return parent.getGraphId() + ":" + name;
+               return parentClass.getGraphId() + ":" + name;
+       }
+
+       public int getOutsideVisibleReferencesCount() {
+
+               if (!isVisible())
+                       return 0;
+
+               if (type != null)
+                       if (type.isVisible())
+                               return 1;
+
+               return 0;
+       }
+
+       public ClassDescriptor getType() {
+               return type;
        }
 
        @Override