All Implemented Interfaces:
Comparable<SortableLocation>, SortableLocation
Direct Known Subclasses:
MethodLocation

public class FieldLocation extends ClassLocation
Comparable path structure to locate a particular field within compilation unit.
Since:
2.0
Author:
Lennart Jörelid, jGuru Europe AB
  • Constructor Details

    • FieldLocation

      public FieldLocation(String packageName, String className, String classXmlName, String memberName, String memberXmlName)
      Creates a new FieldLocation with the supplied package, class and member names.
      Parameters:
      packageName - The name of the package for a class potentially holding JavaDoc. Cannot be null.
      className - The (simple) name of a class. Cannot be null or empty.
      classXmlName - The name given as the XmlType.name() value of an annotation placed on the Class, or null if none is provided.
      memberName - The name of a (method or) field. Cannot be null or empty.
      memberXmlName - The name given as the XmlElement.name() or XmlAttribute.name() value of an annotation placed on this Field, or null if none is provided.
  • Method Details

    • getMemberName

      public String getMemberName()
      Retrieves the name of the member (i.e. method or field), potentially holding JavaDoc.
      Returns:
      The name of the member (i.e. method or field), potentially holding JavaDoc. Never null or empty.
    • getAnnotationRenamedTo

      public String getAnnotationRenamedTo()
      Note: Packages cannot be renamed from a JAXB annotation. Retrieves the value of the name attribute provided by a JAXB annotation, implying that the XSD type should use another name than the default.
      Specified by:
      getAnnotationRenamedTo in interface SortableLocation
      Overrides:
      getAnnotationRenamedTo in class ClassLocation
      Returns:
      the value of the name attribute provided by a JAXB annotation relevant to this SortableLocation.
      See Also:
      • XmlElement.name()
      • XmlAttribute.name()
      • XmlType.name()
    • getPath

      public String getPath()
      Always appends the effective className to the path from the superclass PackageLocation. If the ClassLocation.getAnnotationRenamedTo() method returns a non-null value, that value is the effective className. Otherwise, the ClassLocation.getClassName() method is used as the effective className. This is to handle renames such as provided in a XmlType annotation's XmlType.name() attribute value.
      Specified by:
      getPath in interface SortableLocation
      Overrides:
      getPath in class ClassLocation
      Returns:
      the path of the PackageLocation superclass, appended with the effective className.
      See Also:
      • XmlType
      • XmlAttribute.name()
      • XmlElement.name()
    • toString

      public String toString()
      Overrides:
      toString in class ClassLocation
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class ClassLocation