Class CommandCatalog


  • public class CommandCatalog
    extends java.lang.Object
    List of all commands known by jgit's command line tools.

    Commands are implementations of TextBuiltin, with an optional Command class annotation to insert additional documentation or override the default command name (which is guessed from the class name).

    Commands may be registered by adding them to a services file in the same JAR (or classes directory) as the command implementation. The service file name is META-INF/services/org.eclipse.jgit.pgm.TextBuiltin and it contains one concrete implementation class name per line.

    Command registration is identical to Java 6's services, however the catalog uses a lightweight wrapper to delay creating a command instance as much as possible. This avoids initializing the AWT or SWT GUI toolkits even if the command's constructor might require them.

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private CommandCatalog()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static CommandRef[] all()
      Get all commands sorted by their name
      private java.util.Enumeration<java.net.URL> catalogs()  
      static CommandRef[] common()
      Get all common commands sorted by their name
      static CommandRef get​(java.lang.String name)
      Locate a single command by its user friendly name.
      private void load​(java.lang.String cn)  
      private void scan​(java.net.URL cUrl)  
      private static CommandRef[] toSortedArray​(java.util.Collection<CommandRef> c)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ldr

        private final java.lang.ClassLoader ldr
      • commands

        private final java.util.Map<java.lang.String,​CommandRef> commands
    • Constructor Detail

      • CommandCatalog

        private CommandCatalog()
    • Method Detail

      • get

        public static CommandRef get​(java.lang.String name)
        Locate a single command by its user friendly name.
        Parameters:
        name - name of the command. Typically in dash-lower-case-form, which was derived from the DashLowerCaseForm class name.
        Returns:
        the command instance; null if no command exists by that name.
      • all

        public static CommandRef[] all()
        Get all commands sorted by their name
        Returns:
        all known commands, sorted by command name.
      • common

        public static CommandRef[] common()
        Get all common commands sorted by their name
        Returns:
        all common commands, sorted by command name.
      • catalogs

        private java.util.Enumeration<java.net.URL> catalogs()
      • scan

        private void scan​(java.net.URL cUrl)
      • load

        private void load​(java.lang.String cn)