Class EnvironmentAwareCommand

java.lang.Object
org.elasticsearch.cli.Command
org.elasticsearch.cli.EnvironmentAwareCommand
All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable
Direct Known Subclasses:
ElasticsearchNodeCommand, KeyStoreAwareCommand

public abstract class EnvironmentAwareCommand
extends org.elasticsearch.cli.Command
A cli command which requires an Environment to use current paths and settings.
  • Field Summary

    Fields inherited from class org.elasticsearch.cli.Command

    description, parser
  • Constructor Summary

    Constructors
    Constructor Description
    EnvironmentAwareCommand​(java.lang.String description)
    Construct the command with the specified command description.
    EnvironmentAwareCommand​(java.lang.String description, java.lang.Runnable beforeMain)
    Construct the command with the specified command description and runnable to execute before main is invoked.
  • Method Summary

    Modifier and Type Method Description
    protected Environment createEnv​(java.util.Map<java.lang.String,​java.lang.String> settings)
    Create an Environment for the command to use.
    protected Environment createEnv​(Settings baseSettings, java.util.Map<java.lang.String,​java.lang.String> settings)
    Create an Environment for the command to use.
    protected void execute​(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options)  
    protected abstract void execute​(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options, Environment env)
    Execute the command with the initialized Environment.

    Methods inherited from class org.elasticsearch.cli.Command

    addShutdownHook, close, exit, main, printAdditionalHelp

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EnvironmentAwareCommand

      public EnvironmentAwareCommand​(java.lang.String description)
      Construct the command with the specified command description. This command will have logging configured without reading Elasticsearch configuration files.
      Parameters:
      description - the command description
    • EnvironmentAwareCommand

      public EnvironmentAwareCommand​(java.lang.String description, java.lang.Runnable beforeMain)
      Construct the command with the specified command description and runnable to execute before main is invoked. Commands constructed with this constructor must take ownership of configuring logging.
      Parameters:
      description - the command description
      beforeMain - the before-main runnable
  • Method Details

    • execute

      protected void execute​(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options) throws java.lang.Exception
      Specified by:
      execute in class org.elasticsearch.cli.Command
      Throws:
      java.lang.Exception
    • createEnv

      protected Environment createEnv​(java.util.Map<java.lang.String,​java.lang.String> settings) throws org.elasticsearch.cli.UserException
      Create an Environment for the command to use. Overrideable for tests.
      Throws:
      org.elasticsearch.cli.UserException
    • createEnv

      protected final Environment createEnv​(Settings baseSettings, java.util.Map<java.lang.String,​java.lang.String> settings) throws org.elasticsearch.cli.UserException
      Create an Environment for the command to use. Overrideable for tests.
      Throws:
      org.elasticsearch.cli.UserException
    • execute

      protected abstract void execute​(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options, Environment env) throws java.lang.Exception
      Execute the command with the initialized Environment.
      Throws:
      java.lang.Exception