{
  "file": "/tmp/TestJava.java",
  "language": "java",
  "entities": [
    {
      "id": "TestJava.java",
      "type": "Module",
      "name": "TestJava.java",
      "kind": "module",
      "visibility": "public",
      "line_range": [
        1,
        22
      ]
    },
    {
      "id": "dep:java.util.List",
      "type": "Dependency",
      "name": "java.util.List",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        3,
        3
      ]
    },
    {
      "id": "dep:org.springframework.stereotype.Service",
      "type": "Dependency",
      "name": "org.springframework.stereotype.Service",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        4,
        4
      ]
    },
    {
      "id": "TestJava.java:TenantService",
      "type": "Class",
      "name": "TenantService",
      "kind": "class",
      "visibility": "public",
      "line_range": [
        6,
        21
      ]
    },
    {
      "id": "TestJava.java:TenantService:TenantService",
      "type": "Function",
      "name": "TenantService",
      "kind": "method",
      "visibility": "public",
      "line_range": [
        10,
        12
      ]
    },
    {
      "id": "TestJava.java:TenantService:getTenants",
      "type": "Function",
      "name": "getTenants",
      "kind": "method",
      "visibility": "public",
      "line_range": [
        14,
        16
      ]
    },
    {
      "id": "TestJava.java:TenantService:audit",
      "type": "Function",
      "name": "audit",
      "kind": "method",
      "visibility": "private",
      "line_range": [
        18,
        20
      ]
    }
  ],
  "relationships": [
    {
      "type": "IMPORTS",
      "source": "TestJava.java",
      "target": "dep:java.util.List"
    },
    {
      "type": "IMPORTS",
      "source": "TestJava.java",
      "target": "dep:org.springframework.stereotype.Service"
    },
    {
      "type": "CONTAINS",
      "source": "TestJava.java",
      "target": "TestJava.java:TenantService"
    },
    {
      "type": "IMPLEMENTS",
      "source": "TestJava.java:TenantService",
      "target": "BaseService"
    },
    {
      "type": "CONTAINS",
      "source": "TestJava.java:TenantService",
      "target": "TestJava.java:TenantService:TenantService"
    },
    {
      "type": "CONTAINS",
      "source": "TestJava.java:TenantService",
      "target": "TestJava.java:TenantService:getTenants"
    },
    {
      "type": "CALLS",
      "source": "TestJava.java:TenantService:getTenants",
      "target": "this.db.query"
    },
    {
      "type": "CONTAINS",
      "source": "TestJava.java:TenantService",
      "target": "TestJava.java:TenantService:audit"
    },
    {
      "type": "CALLS",
      "source": "TestJava.java:TenantService:audit",
      "target": "Logger.log"
    }
  ]
}
