Class SourceCodeLocation

java.lang.Object
com.tngtech.archunit.core.domain.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 Summary

    Modifier and Type Method Description
    boolean equals​(java.lang.Object obj)  
    int hashCode()  
    static SourceCodeLocation of​(JavaClass sourceClass)  
    static SourceCodeLocation of​(JavaClass sourceClass, int lineNumber)  
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Method Details

    • of

      @PublicAPI(usage=ACCESS) public static SourceCodeLocation of​(JavaClass sourceClass)
    • of

      @PublicAPI(usage=ACCESS) public static SourceCodeLocation of​(JavaClass sourceClass, int lineNumber)
    • 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.