Class SourceCodeLocation


  • @PublicAPI(usage=ACCESS)
    public final class SourceCodeLocation
    extends java.lang.Object
    Location in the source code of an ArchUnit domain object.

    Consider, e.g., a JavaAccess from com.myapp.MyClass line number 28 to another class com.any.OtherClass. Then the SourceCodeLocation would be
    com.myapp.MyClass.java:28

    A SourceCodeLocation will always only be as precise as possible from the point of Java bytecode. A field of a class, e.g., com.myapp.MyClass would always give
    com.myapp.MyClass.java:0
    since there is no way to precisely determine the line number of a JavaField from bytecode.
    See Also:
    toString()
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        Returns:
        "(${sourceClass.getSimpleName()}.java:${lineNumber})". This format is (at least by IntelliJ Idea) recognized as location, if it's the end of a line, thus enabling IDE support to jump to a definition.