Documentation menu

jdx outline

IDE equivalent: File structure

Outline a type: one dense line per member declared on it (never inherited members). Same filters as members --declared. Exits 1 when the type is unknown, 2 when a short name is ambiguous.

Usage#

jdx outline [<options>] <ref>

Example#

jdx outline com.google.gson.JsonPrimitive --coord com.google.code.gson:gson:2.14.0
members of com.google.gson.JsonPrimitive
constructors declared on com.google.gson.JsonPrimitive:
  constructor public JsonPrimitive(java.lang.Boolean bool)
  constructor public JsonPrimitive(java.lang.Character c)
  constructor public JsonPrimitive(java.lang.Number number)
  constructor public JsonPrimitive(java.lang.String string)
methods declared on com.google.gson.JsonPrimitive:
  method public boolean equals(java.lang.Object obj)
  method public boolean getAsBoolean()
  method public boolean isBoolean()
  method public boolean isNumber()
  method public boolean isString()
  method public byte getAsByte()
  method public char getAsCharacter()
  method public com.google.gson.JsonPrimitive deepCopy()
  method public double getAsDouble()
  method public float getAsFloat()
  method public int getAsInt()
  method public int hashCode()
  method public java.lang.Number getAsNumber()
  method public java.lang.String getAsString()
  method public java.math.BigDecimal getAsBigDecimal()
  method public java.math.BigInteger getAsBigInteger()
  method public long getAsLong()
  method public short getAsShort()
warning MULTI_RELEASE_VARIANT: multi-release gson-2.14.0.jar serves version-specific variants for this JDK (21)
source: gson-2.14.0.jar (bytecode)

Real output — this example ran against the current jdx when the page was built.

Options#

OptionDescription
--kind=(all|method|field|ctor|property)Member kind to list: method, field, ctor, property or all.
--access=(public|protected|package|private|all)Visibility to list: public, protected, package, private or all (default: public + protected).
--staticOnly static members (mutually exclusive with --instance).
--instanceOnly instance members (mutually exclusive with --static).
--from=<text>Only members inherited from a specific supertype (rarely useful with outline).
--grep=<text>Only members whose name matches this regex.
--include-syntheticInclude bridge/synthetic members, hidden by default.
--limit=<int>Maximum member rows shown (default 50); the rest become a truncation footer.
--with-docInclude the first javadoc sentence per member.
--briefMinimal text output: bare member rows with no group headers and no provenance block (warnings and footers stay). Mutually exclusive with --with-doc. Text only; --json is unaffected.
--max-lines=<int>Maximum text lines shown; the rest become a continuation footer. Text only; --json is unaffected.
--sort=(kind|name|declaring)Row order: kind (the default, kind-then-name in linearisation order); name (flat name-first across kinds and groups); declaring (alphabetical by declaring type).
--view=(kotlin|jvm)Declaration projection: kotlin (the default, true Kotlin declarations from @Metadata) or jvm (the raw JVM projection: JVM names, hidden Continuation params, getters/setters, mangled internal names).
--jars=<text>Binary roots: jar files, class directories or globs (repeatable). Merge in front of the selected workspace's roots.
-w, --workspace=<text>Use a named workspace (see jdx ws). Explicit --jars merge in front of it.
--no-jdkDo not include the running JDK's stdlib (included by default).
--coord=<text>Maven coordinate root group:artifact:version (repeatable). Resolved from ~/.gradle/caches and ~/.m2 first; with --fetch, downloaded from Maven repositories into <cache-dir>/m2 with checksum verification. Merges in front of the workspace.
--repo=<text>Maven repository base URL for --coord fetches (repeatable, e.g. --repo https://repo.example.com/maven2). Tried in flag order before Maven Central, which stays last as the fallback. Must be an http(s) URL.
--fetchAllow downloading --coord artifacts (and their -sources.jar) from Maven repositories (Central by default, --repo to add mirrors). Without it, coordinates resolve from the local caches only.
--jsonEmit machine-readable JSON instead of human-readable text (same information, D-007).
--no-colorDisable ANSI colors even on a TTY (piped output is always plain).
--no-daemonForce in-process execution: do not forward this query to the background daemon even when its socket answers (PROPOSAL.md §14.1).
-h, --helpShow this message and exit

Arguments#

ArgumentDescription
<ref>Type reference to outline.

Full help text#

Show jdx outline --help
jdx outline --help
Usage: jdx outline [<options>] <ref>

  Outline a type: one dense line per member declared on it (never inherited members). Same filters as members --declared. Exits 1 when the type is unknown, 2 when a short name is ambiguous.

Options:
  --kind=(all|method|field|ctor|property)          Member kind to list: method, field, ctor, property or all.
  --access=(public|protected|package|private|all)  Visibility to list: public, protected, package, private or all (default: public + protected).
  --static                                         Only static members (mutually exclusive with --instance).
  --instance                                       Only instance members (mutually exclusive with --static).
  --from=<text>                                    Only members inherited from a specific supertype (rarely useful with outline).
  --grep=<text>                                    Only members whose name matches this regex.
  --include-synthetic                              Include bridge/synthetic members, hidden by default.
  --limit=<int>                                    Maximum member rows shown (default 50); the rest become a truncation footer.
  --with-doc                                       Include the first javadoc sentence per member.
  --brief                                          Minimal text output: bare member rows with no group headers and no provenance block (warnings and footers stay). Mutually exclusive with --with-doc. Text only; --json is unaffected.
  --max-lines=<int>                                Maximum text lines shown; the rest become a continuation footer. Text only; --json is unaffected.
  --sort=(kind|name|declaring)                     Row order: kind (the default, kind-then-name in linearisation order); name (flat name-first across kinds and groups); declaring (alphabetical by declaring type).
  --view=(kotlin|jvm)                              Declaration projection: kotlin (the default, true Kotlin declarations from @Metadata) or jvm (the raw JVM projection: JVM names, hidden Continuation params, getters/setters, mangled internal names).
  --jars=<text>                                    Binary roots: jar files, class directories or globs (repeatable). Merge in front of the selected workspace's roots.
  -w, --workspace=<text>                           Use a named workspace (see jdx ws). Explicit --jars merge in front of it.
  --no-jdk                                         Do not include the running JDK's stdlib (included by default).
  --coord=<text>                                   Maven coordinate root group:artifact:version (repeatable). Resolved from ~/.gradle/caches and ~/.m2 first; with --fetch, downloaded from Maven repositories into <cache-dir>/m2 with checksum verification. Merges in front of the workspace.
  --repo=<text>                                    Maven repository base URL for --coord fetches (repeatable, e.g. --repo https://repo.example.com/maven2). Tried in flag order before Maven Central, which stays last as the fallback. Must be an http(s) URL.
  --fetch                                          Allow downloading --coord artifacts (and their -sources.jar) from Maven repositories (Central by default, --repo to add mirrors). Without it, coordinates resolve from the local caches only.
  --json                                           Emit machine-readable JSON instead of human-readable text (same information, D-007).
  --no-color                                       Disable ANSI colors even on a TTY (piped output is always plain).
  --no-daemon                                      Force in-process execution: do not forward this query to the background daemon even when its socket answers (PROPOSAL.md §14.1).
  -h, --help                                       Show this message and exit

Arguments:
  <ref>  Type reference to outline.

Real output — this example ran against the current jdx when the page was built.

Learn more#

Guide: Reading code · All commands

View as Markdown · Updated