Class HabitatGenerator


  • public class HabitatGenerator
    extends Object
    This is a command line (or embedded) utility that will generate habitat files based on @Service annotations.
    Author:
    jwells
    • Field Detail

      • OUTJAR_ARG

        public static final String OUTJAR_ARG
        The name of the JAR file to write to (defaults to input file, ignored if input file is directory)
        See Also:
        Constant Field Values
      • SEARCHPATH_ARG

        public static final String SEARCHPATH_ARG
        The path-separator delimited list of files to search for contracts and qualifiers (defaults to classpath)
        See Also:
        Constant Field Values
      • NOSWAP_ARG

        public static final String NOSWAP_ARG
        This option will write files in-place, which is quicker but will remove existing files prior to writing new ones
        See Also:
        Constant Field Values
      • DIRECTORY_ARG

        public static final String DIRECTORY_ARG
        This option gives the name of directory in the target location where the file should be placed
        See Also:
        Constant Field Values
      • NO_DATE_ARG

        public static final String NO_DATE_ARG
        This option gives the name of directory in the target location where the file should be placed
        See Also:
        Constant Field Values
    • Method Detail

      • embeddedMain

        public static int embeddedMain​(String[] argv)
        A utility to generate inhabitants files. By default the first element of the classpath will be analyzed and an inhabitants file will be put into the JAR or directory. The arguments are as follows:

        HabitatGenerator [--file jarFileOrDirectory] [--searchPath path-separator-delimited-classpath] [--outjar jarfile] [--locator locatorName] [--directory targetDirectory] [--verbose]

        If the input file is a directory then the output file will go into META-INF/locatorName in the original directory

        If the input file is a jar file then the output file will go into the JAR file under META-INF/locatorName, overwriting any file that was previously in that location

        --outjar only works if the file being added to is a JAR file, in which case this is the name of the output jar file that should be written. This defaults to the input jar file itself if not specified. If specified and the jarFileOrDirectory parameter is a directory then this parameter is ignored

        Parameters:
        argv - The set of command line arguments
        Returns:
        0 on success, non-zero on failure
      • main

        public static void main​(String[] argv)
        This method will call System.exit() with a 0 on success and non-zero on failure
        Parameters:
        argv - The arguments to the command (see embeddedMain)