# Identify available methods

In order to help users identify the objects and methods available for invocation, the controller provides a help argument that can be called to list all available objects or methods available on an object.

If specified with an app configuration document, the help command displays usage and available objects:

    java Controller --app-config AppConfig.xml --help

    ...

    The following objects are defined in document 'AppConfig.xml':
    [To see methods available for an object, use the --help command line argument and specify the name of the object.]

      [com.Endeca.soleng.eac.toolkit.base.LockManager]
        LockManager
      [com.Endeca.soleng.eac.toolkit.component.ConfigManagerComponent]
        ConfigManager
      [com.Endeca.soleng.eac.toolkit.component.DgidxComponent]
        Dgidx
      [com.Endeca.soleng.eac.toolkit.component.DgraphComponent]
        Dgraph1
        Dgraph2
      [com.Endeca.soleng.eac.toolkit.component.ForgeComponent]
        Forge
        PartialForge
      [com.Endeca.soleng.eac.toolkit.component.LogServerComponent]
        LogServer
      [com.Endeca.soleng.eac.toolkit.component.ReportGeneratorComponent]
        WeeklyReportGenerator
        DailyReportGenerator
      [com.Endeca.soleng.eac.toolkit.component.cluster.DgraphCluster]
        DgraphCluster
      [com.Endeca.soleng.eac.toolkit.host.Host]
        ITLHost
        MDEXHost
      [com.Endeca.soleng.eac.toolkit.script.Script]
        BaselineUpdate
        DistributeIndexAndApply
        PartialUpdate
        DistributePartialsAndApply
        ConfigUpdate

The name of each object loaded from the configuration document is printed along with the object's class. To identify the available methods, the help command can be invoked again with the name of an object in the document:

    java Controller --app-config AppConfig.xml --help DgraphCluster
    ...

    The following methods are available for object 'DgraphCluster':
    [Excluded: private, static and abstract methods; methods inherited from Object; methods with names that start with 'get', 'set' or 'is'. For details, refer to Javadoc for class com.Endeca.soleng.eac.toolkit.component.cluster.DgraphCluster.]

      start(), stop(), removeDefinition(), updateDefinition(), cleanDirs(),
      applyIndex(), applyPartialUpdates(), applyConfigUpdate(),
      cleanLocalIndexDirs(), cleanLocalPartialsDirs(),
      cleanLocalDgraphConfigDirs(), copyIndexToDgraphServers(),
      copyPartialUpdateToDgraphServers(),
      copyCumulativePartialUpdatesToDgraphServers(),
      copyDgraphConfigToDgraphServers(),  addDgraph(DgraphComponent)

Note that not all methods defined for the class `com.Endeca.soleng.eac.toolkit.component.cluster.DgraphCluster` are displayed. As the displayed message notes, methods declared as private, static or abstract are excluded, as are methods inherited from Object, getters and setters, and a few reserved methods that are known not to be useful from the command line. These restrictions are intended to make the output of this help command as useful as possible, but there are likely to be cases when developers will need to refer to Javadoc to find methods that are not displayed using the help command.