Package org.apache.lucene.util

## Class CommandLineUtil

- java.lang.Object
- - org.apache.lucene.util.CommandLineUtil

-     public final class CommandLineUtil
      extends Object

  Class containing some useful methods used by command line tools

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Class<? extends Directory>` | `loadDirectoryClass​(String clazzName)` | Loads a specific Directory implementation
    `static Class<? extends FSDirectory>` | `loadFSDirectoryClass​(String clazzName)` | Loads a specific FSDirectory implementation
    `static FSDirectory` | `newFSDirectory​(Class<? extends FSDirectory> clazz, Path path)` | Creates a new specific FSDirectory instance
    `static FSDirectory` | `newFSDirectory​(Class<? extends FSDirectory> clazz, Path path, LockFactory lf)` | Creates a new specific FSDirectory instance
    `static FSDirectory` | `newFSDirectory​(String clazzName, Path path)` | Creates a specific FSDirectory instance starting from its class name, using the default lock factory
    `static FSDirectory` | `newFSDirectory​(String clazzName, Path path, LockFactory lf)` | Creates a specific FSDirectory instance starting from its class name

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### newFSDirectory

          public static FSDirectory newFSDirectory​(String clazzName,
                                                   Path path)

      Creates a specific FSDirectory instance starting from its class name, using the default lock factory
      Parameters:
        `clazzName` - The name of the FSDirectory class to load
        `path` - The path to be used as parameter constructor
      Returns:
        the new FSDirectory instance

    - #### newFSDirectory

          public static FSDirectory newFSDirectory​(String clazzName,
                                                   Path path,
                                                   LockFactory lf)

      Creates a specific FSDirectory instance starting from its class name
      Parameters:
        `clazzName` - The name of the FSDirectory class to load
        `path` - The path to be used as parameter constructor
        `lf` - The lock factory to be used
      Returns:
        the new FSDirectory instance

    - #### loadDirectoryClass

          public static Class<? extends Directory> loadDirectoryClass​(String clazzName)
                                                               throws ClassNotFoundException

      Loads a specific Directory implementation
      Parameters:
        `clazzName` - The name of the Directory class to load
      Returns:
        The Directory class loaded
      Throws:
        `ClassNotFoundException` - If the specified class cannot be found.

    - #### loadFSDirectoryClass

          public static Class<? extends FSDirectory> loadFSDirectoryClass​(String clazzName)
                                                                   throws ClassNotFoundException

      Loads a specific FSDirectory implementation
      Parameters:
        `clazzName` - The name of the FSDirectory class to load
      Returns:
        The FSDirectory class loaded
      Throws:
        `ClassNotFoundException` - If the specified class cannot be found.

    - #### newFSDirectory

          public static FSDirectory newFSDirectory​(Class<? extends FSDirectory> clazz,
                                                   Path path)
                                            throws ReflectiveOperationException

      Creates a new specific FSDirectory instance
      Parameters:
        `clazz` - The class of the object to be created
        `path` - The file to be used as parameter constructor
      Returns:
        The new FSDirectory instance
      Throws:
        `NoSuchMethodException` - If the Directory does not have a constructor that takes `Path`.
        `InstantiationException` - If the class is abstract or an interface.
        `IllegalAccessException` - If the constructor does not have public visibility.
        `InvocationTargetException` - If the constructor throws an exception
        `ReflectiveOperationException`

    - #### newFSDirectory

          public static FSDirectory newFSDirectory​(Class<? extends FSDirectory> clazz,
                                                   Path path,
                                                   LockFactory lf)
                                            throws ReflectiveOperationException

      Creates a new specific FSDirectory instance
      Parameters:
        `clazz` - The class of the object to be created
        `path` - The file to be used as parameter constructor
        `lf` - The lock factory to be used
      Returns:
        The new FSDirectory instance
      Throws:
        `NoSuchMethodException` - If the Directory does not have a constructor that takes `Path`.
        `InstantiationException` - If the class is abstract or an interface.
        `IllegalAccessException` - If the constructor does not have public visibility.
        `InvocationTargetException` - If the constructor throws an exception
        `ReflectiveOperationException`