QUERY

From ICE Enterprises
Jump to navigation Jump to search

query object for methods, fields, and interfaces

<NAME> - Name of object to query [DEF=""]
<METH> - Name of method to query. Implicitly ends with *. [DEF="*"]

NOTE: JDK 7 changed the underlying documentation structure for the generated 
      API docs, so the QUERY command has a much more limited functionality when
      using JDK 7+. For best viewing of documentation, use a web browser at: 
            file://<nmroot>/htdocs/api/index.html

This command analyzes an object for all of its public interfaces, fields, and
methods and displays the entries in alphabetical order.  The /ALL switch may be
used to display private and protected methods as well.  The name can be a
command in the dictionary, a fully specified class name, or an instance of a
class accessible from the results table.  This is often an entry from the
command registry result REG.

Since NeXtMidas 2.1.0 the names of constants defined in interfaces are not
listed when <METH>="*" unless the /ALL switch is given. This reduces "clutter"
in the output listing.

If a class is not fully resolved (i.e. "Args" rather than "nxm.sys.lib.Args")
an attempt will be made to resolve it from a set of standard packages. If
this does not work, simply give the fully-resolved name when using query.

Note that following the Java convention all constructors are named "<init>".

The /MASK=options allows changing the default search filter.  The options are:
  PUBLIC  - include public members
  PRIVATE - include private members
  INHERIT - include inherited members
  INTER   - include interface members
  FULLSIG - list the full signature of the method
  DOCS    - include any Javadocs available for the member

The /C, /F and /M switches can be used to individually set the filter options for
constructors, fields and methods.

Examples:
  * Show signatures of all public methods (declared, inherited and chained) in
     the plot command
       nM> plot/bg
       nM> query reg.plot meth=* /m=sig

  * Show the names of all public methods in nxm.sys.lib.Args:

       nM> query nxm.sys.lib.Args

  * Show the names of all public methods in nxm.sys.lib.Args that start
     with "get":

       nM> query nxm.sys.lib.Args /gets

  * Show the documentation all public methods in nxm.sys.lib.Args that are
    named "getX":

       nM> query nxm.sys.lib.Args getX /m=+DOCS

 ** Show the documentation for the public methods in nxm.sys.lib.Args named
     "getS" that takes in an integer and a String:

          nM> query nxm.sys.lib.Args getS(int,String)
     or:  nM> query nxm.sys.lib.Args getS(int,java.lang.String)
     or:  nM> query Args getS(int,String)

 ** Show the documentation for the constructor to DataFile that takes in two
    objects:

          nM> query DataFile <init>(Object,Object)

The ** examples currently do not work because of changes in KeyObject.

Switches:
  /ALL    - Display private and protected methods as well [DEF=FALSE]
  /DEBUG  - Show debug output
  /FIELDS - Shortcut to show all fields.
  /GETS   - Shortcut to show all "get" methods.
  /SETS   - Shortcut to show all "set" methods.
  /LIST=label - redirect output list to a comma separated result string
  /MASK=  - Override All filter masks PUBLIC|PRIVATE|INHERIT|INTER|FULLSIG|DOCS
  /C=     - Override Constructor filter mask.
  /F=     - Override Field filter mask.
  /M=     - Override Method filter mask.
  /NC=    - Column width for more filter  [DEF=30]
  /NR=    - Number of rows in more filter [DEF=Size to Window]