Class FirstCommand


  • public final class FirstCommand
    extends java.lang.Object
    In a push, the client sends a list of commands. The first command is special, as it can include a list of capabilities at its end.

    For example: "oid oid name\0cap1 cap cap3"

    Not to be confused with FirstWant, nor with the first line of the reference advertisement parsed by BasePackConnection.readAdvertisedRefs.

    This class parses the inputted command line and holds the results: the actual command line and the capabilities.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Set<java.lang.String> capabilities  
      private java.lang.String line  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private FirstCommand​(java.lang.String line, java.util.Set<java.lang.String> capabilities)  
    • Field Detail

      • line

        private final java.lang.String line
      • capabilities

        private final java.util.Set<java.lang.String> capabilities
    • Constructor Detail

      • FirstCommand

        private FirstCommand​(java.lang.String line,
                             java.util.Set<java.lang.String> capabilities)
    • Method Detail

      • fromLine

        @NonNull
        public static FirstCommand fromLine​(java.lang.String line)
        Parse the first line of a receive-pack request.
        Parameters:
        line - line from the client.
        Returns:
        an instance of FirstCommand with capabilities parsed out
      • getLine

        @NonNull
        public java.lang.String getLine()
        Returns:
        non-capabilities part of the line.
      • getCapabilities

        @NonNull
        public java.util.Set<java.lang.String> getCapabilities()
        Returns:
        capabilities parsed from the line, as an immutable set.