Changed license to LGPLv3.
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / structure / FieldDescriptor.java
old mode 100644 (file)
new mode 100755 (executable)
index 42ecfcf..2162674
@@ -1,10 +1,10 @@
 /*
  * JavaInspect - Utility to visualize java software
- * Copyright (C) 2013, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ * Copyright (C) 2013-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
  * 
  * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public License
- * as published by the Free Software Foundation.
+ * modify it under the terms of version 3 of the GNU Lesser General Public License
+ * or later as published by the Free Software Foundation.
  */
 
 package eu.svjatoslav.inspector.java.structure;
@@ -22,14 +22,14 @@ public class FieldDescriptor implements GraphElement {
         */
 
        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))
@@ -83,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)
@@ -106,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");
@@ -123,7 +123,7 @@ public class FieldDescriptor implements GraphElement {
 
        @Override
        public String getGraphId() {
-               return parent.getGraphId() + ":" + name;
+               return parentClass.getGraphId() + ":" + name;
        }
 
        public int getOutsideVisibleReferencesCount() {
@@ -131,12 +131,17 @@ public class FieldDescriptor implements GraphElement {
                if (!isVisible())
                        return 0;
 
-               if (type.isVisible())
-                       return 1;
+               if (type != null)
+                       if (type.isVisible())
+                               return 1;
 
                return 0;
        }
 
+       public ClassDescriptor getType() {
+               return type;
+       }
+
        @Override
        public boolean isVisible() {
                if (name.contains("$"))
@@ -147,4 +152,5 @@ public class FieldDescriptor implements GraphElement {
 
                return true;
        }
+
 }
\ No newline at end of file