Class Macro


  • public class Macro
    extends java.lang.Object
    Provide a macro processor. This processor can replace variables in strings based on a properties and a domain. The domain can implement functions that start with a "_" and take args[], the names of these functions are available as functions in the macro processor (without the _). Macros can nest to any depth but may not contain loops. Add POSIX macros: ${#parameter} String length. ${parameter%word} Remove smallest suffix pattern. ${parameter%%word} Remove largest suffix pattern. ${parameter#word} Remove smallest prefix pattern. ${parameter##word} Remove largest prefix pattern.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  Macro.Link  
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static java.lang.String _applyHelp
      Take a list and convert this to the arguments
      (package private) static java.lang.String _averageHelp  
      (package private) static java.lang.String _base64Help  
      (package private) static java.lang.String _basenameextHelp  
      (package private) static java.lang.String _bndversionHelp  
      (package private) static java.lang.String _catHelp  
      (package private) static java.lang.String _compareHelp  
      (package private) static java.lang.String _decoratedHelp  
      (package private) static java.lang.String _defHelp  
      (package private) static java.lang.String _digestHelp  
      (package private) static java.lang.String _endswithHelp  
      (package private) static java.lang.String _envHelp  
      (package private) static java.lang.String _extensionHelp  
      static java.lang.String _fileHelp  
      (package private) static java.lang.String _fileuriHelp  
      (package private) static java.lang.String _filterHelp  
      (package private) static java.lang.String _findHelp  
      (package private) static java.lang.String _findlastHelp  
      (package private) static java.lang.String _firstHelp  
      static java.lang.String _fmodifiedHelp  
      (package private) static java.lang.String _foreachHelp
      Map a value from a list to a new value, providing the value and the index
      (package private) static java.lang.String _formatHelp  
      (package private) static java.lang.String _getHelp  
      (package private) static java.lang.String _globHelp  
      (package private) static java.lang.String _ifHelp  
      (package private) static java.lang.String _indexofHelp  
      (package private) static java.lang.String _isemptyHelp  
      (package private) static java.lang.String _isHelp  
      (package private) static java.lang.String _isnumberHelp  
      (package private) static java.lang.String _joinHelp  
      (package private) static java.lang.String _jsHelp  
      (package private) static java.lang.String _lastHelp  
      (package private) static java.lang.String _lastindexofHelp  
      (package private) static java.lang.String _lengthHelp  
      (package private) static java.lang.String _listHelp  
      (package private) static java.lang.String _lsaHelp  
      (package private) static java.lang.String _lsrHelp  
      (package private) static java.lang.String _mapHelp
      Map a value from a list to a new value
      (package private) static java.lang.String _matchesHelp  
      (package private) static java.lang.String _maxHelp  
      (package private) static java.lang.String _minHelp  
      (package private) static java.lang.String _ncompareHelp  
      (package private) static java.lang.String _nmaxHelp  
      (package private) static java.lang.String _nminHelp  
      static java.lang.String _nowHelp  
      (package private) static java.lang.String _nsortHelp  
      (package private) static java.lang.String _osfileHelp  
      (package private) static java.lang.String _randHelp  
      (package private) static java.lang.String _rangeHelp  
      (package private) static java.util.regex.Pattern[] _rangePattern  
      (package private) static java.lang.String _removeallHelp
      Return the first list where items from the second list are removed.
      (package private) static java.lang.String _replaceHelp  
      (package private) static java.lang.String _replacelistHelp  
      (package private) static java.lang.String _replacestringHelp  
      (package private) static java.lang.String _retainallHelp
      Return the first list where items not in the second list are removed.
      (package private) static java.lang.String _reverseHelp  
      static java.lang.String _sizeHelp  
      (package private) static java.lang.String _sjoinHelp  
      (package private) static java.lang.String _sortHelp  
      (package private) static java.lang.String _splitHelp  
      (package private) static java.lang.String _startswithHelp  
      (package private) static java.lang.String _stemHelp  
      (package private) static java.lang.String _sublistHelp  
      (package private) static java.lang.String _substHelp  
      (package private) static java.lang.String _substringHelp  
      (package private) static java.lang.String _sumHelp  
      (package private) static java.lang.String _system_allow_failHelp  
      (package private) static java.lang.String _systemHelp  
      (package private) static java.lang.String _templateHelp  
      (package private) static java.lang.String _toclassnameHelp
      toclassname ; .class ( , .class ) *
      (package private) static java.lang.String _toclasspathHelp
      toclassname ; .class ( , .class ) *
      (package private) static java.lang.String _tolowerHelp  
      (package private) static java.lang.String _toupperHelp  
      (package private) static java.lang.String _trimHelp  
      (package private) static java.lang.String _uniqHelp
      Return a unique list where the duplicates are removed.
      (package private) static java.lang.String _vcompareHelp  
      (package private) static java.lang.String _version_cleanupHelp  
      (package private) static java.lang.String _versionHelp  
      (package private) static java.lang.String _versionmaskHelp  
      (package private) static java.util.regex.Pattern[] _versionPattern  
      (package private) static java.lang.String _vmaxHelp  
      (package private) static java.lang.String _vminHelp  
      private static java.util.regex.Pattern ANY  
      private static java.time.format.DateTimeFormatter DATE_TOSTRING  
      (package private) Processor domain  
      private static java.util.regex.Pattern ERROR_P  
      private static java.lang.String ESCAPED_SEMICOLON  
      private static java.util.regex.Pattern ESCAPED_SEMICOLON_P  
      private static java.lang.String ESCAPING
      Parse the key as a command.
      (package private) boolean flattening  
      boolean inTest  
      private static java.lang.String LITERALVALUE  
      private static java.lang.String LOCALTARGET_NAME  
      private static java.util.regex.Pattern LOCALTARGET_P  
      private java.util.Map<java.lang.Class<?>,​java.util.Map<java.lang.String,​java.util.function.BiFunction<java.lang.Object,​java.lang.String[],​java.lang.Object>>> macrosByClass  
      private static java.lang.String MASK_M
      Modify a version to set a version policy.
      private static java.lang.String MASK_Q  
      private static java.lang.String MASK_STRING  
      private boolean nosystem  
      private static java.lang.String NULLVALUE  
      private static java.util.regex.Pattern NUMERIC_P  
      (package private) static java.util.Random random  
      private static java.util.regex.Pattern RANGE_MASK
      Schortcut for version policy
      (package private) Reporter reporter  
      private static java.lang.String SEMICOLON  
      private static java.util.regex.Pattern SEMICOLON_P  
      (package private) java.lang.Object[] targets  
      private static java.util.regex.Pattern VERSION_MASK  
      private static java.util.regex.Pattern WARNING_P  
    • Constructor Summary

      Constructors 
      Constructor Description
      Macro​(Processor domain, java.lang.Object... targets)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String __testdebug​(java.lang.String[] args)
      Test macro to have exceptions, only active when inTest is active.
      java.lang.String _apply​(java.lang.String[] args)  
      java.lang.String _average​(java.lang.String[] args)  
      java.lang.String _base64​(java.lang.String... args)
      Get the Base64 encoding of a file.
      java.lang.String _basename​(java.lang.String[] args)  
      java.lang.String _basenameext​(java.lang.String[] args)  
      java.lang.String _bndversion​(java.lang.String[] args)  
      java.lang.String _bytes​(java.lang.String[] args)
      Format bytes
      java.lang.String _cat​(java.lang.String[] args)
      Get the contents of a file.
      int _compare​(java.lang.String[] args)  
      java.lang.String _currenttime​(java.lang.String[] args)  
      java.lang.String _decorated​(java.lang.String[] args)
      Return the merged and decorated value of a macro
      java.lang.String _def​(java.lang.String[] args)  
      java.lang.String _digest​(java.lang.String... args)
      Get a digest of a file.
      java.lang.String _dir​(java.lang.String[] args)  
      java.lang.String _endswith​(java.lang.String[] args)  
      java.lang.String _env​(java.lang.String[] args)  
      java.lang.String _error​(java.lang.String[] args)  
      java.lang.String _extension​(java.lang.String[] args)  
      java.lang.String _fileuri​(java.lang.String[] args)  
      java.lang.String _filter​(java.lang.String[] args)  
      java.lang.String _filterout​(java.lang.String[] args)  
      int _find​(java.lang.String[] args)  
      int _findlast​(java.lang.String[] args)  
      java.lang.String _first​(java.lang.String[] args)  
      java.lang.String _fmodified​(java.lang.String[] args)  
      java.lang.String _foreach​(java.lang.String[] args)  
      java.lang.String _format​(java.lang.String[] args)  
      java.lang.String _get​(java.lang.String[] args)  
      java.lang.String _glob​(java.lang.String[] args)  
      java.lang.String _if​(java.lang.String[] args)  
      int _indexof​(java.lang.String[] args)  
      boolean _is​(java.lang.String[] args)  
      java.lang.String _isdir​(java.lang.String[] args)  
      boolean _isempty​(java.lang.String[] args)  
      java.lang.String _isfile​(java.lang.String[] args)  
      boolean _isnumber​(java.lang.String[] args)  
      java.lang.String _join​(java.lang.String[] args)  
      java.lang.Object _js​(java.lang.String[] args)  
      java.lang.String _last​(java.lang.String[] args)  
      int _lastindexof​(java.lang.String[] args)  
      int _length​(java.lang.String[] args)  
      java.lang.String _list​(java.lang.String[] args)  
      java.lang.String _literal​(java.lang.String[] args)  
      java.lang.String _long2date​(java.lang.String[] args)  
      java.lang.String _lsa​(java.lang.String[] args)  
      java.lang.String _lsr​(java.lang.String[] args)  
      java.lang.String _map​(java.lang.String[] args)  
      boolean _matches​(java.lang.String[] args)  
      java.lang.String _max​(java.lang.String[] args)  
      java.lang.String _min​(java.lang.String[] args)  
      int _ncompare​(java.lang.String[] args)  
      java.lang.String _nmax​(java.lang.String[] args)  
      java.lang.String _nmin​(java.lang.String[] args)  
      java.lang.Object _now​(java.lang.String[] args)  
      java.lang.String _nsort​(java.lang.String[] args)  
      java.lang.String _osfile​(java.lang.String[] args)  
      java.lang.String _path​(java.lang.String[] args)  
      java.lang.String _pathseparator​(java.lang.String[] args)  
      long _rand​(java.lang.String[] args)  
      java.lang.String _range​(java.lang.String[] args)  
      java.lang.String _reject​(java.lang.String[] args)  
      java.lang.String _removeall​(java.lang.String[] args)  
      java.lang.String _replace​(java.lang.String[] args)  
      java.lang.String _replacelist​(java.lang.String[] args)  
      java.lang.String _replacestring​(java.lang.String[] args)  
      java.lang.String _retainall​(java.lang.String[] args)  
      java.lang.String _reverse​(java.lang.String[] args)  
      java.lang.String _select​(java.lang.String[] args)  
      java.lang.String _separator​(java.lang.String[] args)  
      int _size​(java.lang.String[] args)  
      java.lang.String _sjoin​(java.lang.String[] args)  
      java.lang.String _sort​(java.lang.String[] args)  
      java.lang.String _split​(java.lang.String[] args)  
      java.lang.String _startswith​(java.lang.String[] args)  
      java.lang.String _stem​(java.lang.String[] args)  
      java.lang.String _sublist​(java.lang.String[] args)  
      java.lang.StringBuffer _subst​(java.lang.String[] args)  
      java.lang.String _substring​(java.lang.String[] args)  
      java.lang.String _sum​(java.lang.String[] args)  
      java.lang.String _system​(java.lang.String[] args)  
      java.lang.String _system_allow_fail​(java.lang.String[] args)  
      java.lang.String _template​(java.lang.String[] args)
      Take a macro name that maps to a Parameters and expand its entries using a template.
      java.lang.String _toclassname​(java.lang.String[] args)  
      java.lang.String _toclasspath​(java.lang.String[] args)  
      java.lang.String _tolower​(java.lang.String[] args)  
      java.lang.String _toupper​(java.lang.String[] args)  
      java.lang.String _trim​(java.lang.String[] args)  
      java.lang.String _tstamp​(java.lang.String[] args)  
      java.lang.String _unescape​(java.lang.String[] args)  
      java.lang.String _uniq​(java.lang.String[] args)  
      int _vcompare​(java.lang.String[] args)  
      java.lang.String _version​(java.lang.String[] args)  
      java.lang.String _version_cleanup​(java.lang.String[] args)  
      java.lang.String _versionmask​(java.lang.String[] args)  
      java.lang.String _vmax​(java.lang.String[] args)  
      java.lang.String _vmin​(java.lang.String[] args)  
      java.lang.String _warning​(java.lang.String[] args)  
      private void bytes​(java.util.Formatter sb, double l, int i, java.lang.String[] strings)  
      private java.lang.String doCommand​(java.lang.Object target, java.lang.String method, java.lang.String[] args)  
      private java.lang.String doCommands​(java.lang.String[] args, Macro.Link source)  
      boolean doCondition​(java.lang.String arg)  
      (package private) java.lang.String filter​(java.lang.String[] args, boolean include)  
      private long getBuildNow()  
      java.util.Map<java.lang.String,​java.lang.String> getCommands()
      Get all the commands available
      java.util.Properties getFlattenedProperties()
      Take all the properties and translate them to actual values.
      java.util.Properties getFlattenedProperties​(boolean ignoreInstructions)
      Take all the properties and translate them to actual values.
      protected java.lang.String getMacro​(java.lang.String key, Macro.Link link)  
      private java.lang.String getMacro​(java.lang.String key, java.util.List<java.lang.String> args2, Macro.Link link, char begin, char end)  
      static java.util.Properties getParent​(java.util.Properties p)  
      static char getTerminator​(char c)  
      (package private) boolean isLocalTarget​(java.lang.String string)  
      boolean isNosystem()  
      boolean isTruthy​(java.lang.String condition)  
      private java.lang.String ls​(java.lang.String help, java.lang.String[] args, boolean relative)  
      (package private) int process​(java.lang.CharSequence org, int index, char begin, char end, java.lang.StringBuilder result, Macro.Link link, boolean inMacro)  
      (package private) java.lang.String process​(java.lang.CharSequence line, Macro.Link link)  
      java.lang.String process​(java.lang.String line)  
      java.lang.String process​(java.lang.String line, Processor source)  
      private java.lang.String processWithArgs​(java.lang.String template, java.lang.String[] args, Macro.Link next)  
      java.lang.String replace​(java.lang.String key, Macro.Link link)  
      private java.lang.String replace​(java.lang.String key, java.util.List<java.lang.String> args, Macro.Link link, char begin, char end)  
      private java.lang.String replace0​(java.lang.String help, java.util.function.Function<java.lang.String,​java.util.stream.Stream<java.lang.String>> splitter, java.lang.String[] args)  
      boolean setNosystem​(boolean nosystem)  
      java.lang.String system_internal​(boolean allowFail, java.lang.String[] args)
      System command.
      private java.util.List<java.lang.String> toList​(java.lang.String[] args, int startInclusive, int endExclusive)  
      private java.lang.String toString​(double eval)  
      private java.lang.String toString​(java.lang.Object eval)  
      static void verifyCommand​(java.lang.String[] args, java.lang.String help, java.util.regex.Pattern[] patterns, int low, int high)  
      (package private) static java.lang.String version​(Version version, java.lang.String mask)  
      • Methods inherited from class java.lang.Object

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

      • NUMERIC_P

        private static final java.util.regex.Pattern NUMERIC_P
      • targets

        java.lang.Object[] targets
      • flattening

        boolean flattening
      • nosystem

        private boolean nosystem
      • inTest

        public boolean inTest
      • macrosByClass

        private final java.util.Map<java.lang.Class<?>,​java.util.Map<java.lang.String,​java.util.function.BiFunction<java.lang.Object,​java.lang.String[],​java.lang.Object>>> macrosByClass
      • ESCAPING

        private static final java.lang.String ESCAPING
        Parse the key as a command. A command consist of parameters separated by ':'.
        See Also:
        Constant Field Values
      • ESCAPED_SEMICOLON

        private static final java.lang.String ESCAPED_SEMICOLON
        See Also:
        Constant Field Values
      • SEMICOLON_P

        private static final java.util.regex.Pattern SEMICOLON_P
      • ESCAPED_SEMICOLON_P

        private static final java.util.regex.Pattern ESCAPED_SEMICOLON_P
      • _uniqHelp

        static final java.lang.String _uniqHelp
        Return a unique list where the duplicates are removed.
        See Also:
        Constant Field Values
      • _removeallHelp

        static final java.lang.String _removeallHelp
        Return the first list where items from the second list are removed.
        See Also:
        Constant Field Values
      • _retainallHelp

        static final java.lang.String _retainallHelp
        Return the first list where items not in the second list are removed.
        See Also:
        Constant Field Values
      • DATE_TOSTRING

        private static final java.time.format.DateTimeFormatter DATE_TOSTRING
      • ANY

        private static final java.util.regex.Pattern ANY
      • ERROR_P

        private static final java.util.regex.Pattern ERROR_P
      • WARNING_P

        private static final java.util.regex.Pattern WARNING_P
      • _toclassnameHelp

        static final java.lang.String _toclassnameHelp
        toclassname ; .class ( , .class ) *
        See Also:
        Constant Field Values
      • _toclasspathHelp

        static final java.lang.String _toclasspathHelp
        toclassname ; .class ( , .class ) *
        See Also:
        Constant Field Values
      • MASK_M

        private static final java.lang.String MASK_M
        Modify a version to set a version policy. The policy is a mask that is mapped to a version.
          + increment - decrement = maintain s only
         pos=3 (qualifier). If qualifer == SNAPSHOT, return m.m.m-SNAPSHOT else
         m.m.m.q s only pos=3 (qualifier). If qualifer == SNAPSHOT, return
         m.m.m-SNAPSHOT else m.m.m ˜ discard ==+ = maintain major, minor,
         increment micro, discard qualifier ˜˜˜= = just get the
         qualifier version="[${version;==;${@}},${version;=+;${@}})"
         
        See Also:
        Constant Field Values
      • VERSION_MASK

        private static final java.util.regex.Pattern VERSION_MASK
      • _versionPattern

        static final java.util.regex.Pattern[] _versionPattern
      • RANGE_MASK

        private static final java.util.regex.Pattern RANGE_MASK
        Schortcut for version policy
          -provide-policy : ${policy;[==,=+)}
         -consume-policy : ${policy;[==,+)}
         
      • _rangePattern

        static final java.util.regex.Pattern[] _rangePattern
      • LOCALTARGET_NAME

        private static final java.lang.String LOCALTARGET_NAME
        See Also:
        Constant Field Values
      • LOCALTARGET_P

        private static final java.util.regex.Pattern LOCALTARGET_P
      • _system_allow_failHelp

        static final java.lang.String _system_allow_failHelp
        See Also:
        Constant Field Values
      • random

        static final java.util.Random random
      • _mapHelp

        static final java.lang.String _mapHelp
        Map a value from a list to a new value
        See Also:
        Constant Field Values
      • _foreachHelp

        static final java.lang.String _foreachHelp
        Map a value from a list to a new value, providing the value and the index
        See Also:
        Constant Field Values
      • _applyHelp

        static final java.lang.String _applyHelp
        Take a list and convert this to the arguments
        See Also:
        Constant Field Values
      • _version_cleanupHelp

        static final java.lang.String _version_cleanupHelp
        See Also:
        Constant Field Values
    • Constructor Detail

      • Macro

        public Macro​(Processor domain,
                     java.lang.Object... targets)
    • Method Detail

      • process

        public java.lang.String process​(java.lang.String line,
                                        Processor source)
      • process

        java.lang.String process​(java.lang.CharSequence line,
                                 Macro.Link link)
      • process

        int process​(java.lang.CharSequence org,
                    int index,
                    char begin,
                    char end,
                    java.lang.StringBuilder result,
                    Macro.Link link,
                    boolean inMacro)
      • getTerminator

        public static char getTerminator​(char c)
      • getMacro

        protected java.lang.String getMacro​(java.lang.String key,
                                            Macro.Link link)
      • getMacro

        private java.lang.String getMacro​(java.lang.String key,
                                          java.util.List<java.lang.String> args2,
                                          Macro.Link link,
                                          char begin,
                                          char end)
      • processWithArgs

        private java.lang.String processWithArgs​(java.lang.String template,
                                                 java.lang.String[] args,
                                                 Macro.Link next)
      • replace

        public java.lang.String replace​(java.lang.String key,
                                        Macro.Link link)
      • replace

        private java.lang.String replace​(java.lang.String key,
                                         java.util.List<java.lang.String> args,
                                         Macro.Link link,
                                         char begin,
                                         char end)
      • doCommands

        private java.lang.String doCommands​(java.lang.String[] args,
                                            Macro.Link source)
      • doCommand

        private java.lang.String doCommand​(java.lang.Object target,
                                           java.lang.String method,
                                           java.lang.String[] args)
      • _uniq

        public java.lang.String _uniq​(java.lang.String[] args)
      • _removeall

        public java.lang.String _removeall​(java.lang.String[] args)
      • _retainall

        public java.lang.String _retainall​(java.lang.String[] args)
      • _pathseparator

        public java.lang.String _pathseparator​(java.lang.String[] args)
      • _separator

        public java.lang.String _separator​(java.lang.String[] args)
      • _filter

        public java.lang.String _filter​(java.lang.String[] args)
      • _select

        public java.lang.String _select​(java.lang.String[] args)
      • _filterout

        public java.lang.String _filterout​(java.lang.String[] args)
      • _reject

        public java.lang.String _reject​(java.lang.String[] args)
      • filter

        java.lang.String filter​(java.lang.String[] args,
                                boolean include)
      • _sort

        public java.lang.String _sort​(java.lang.String[] args)
      • _nsort

        public java.lang.String _nsort​(java.lang.String[] args)
      • _join

        public java.lang.String _join​(java.lang.String[] args)
      • _sjoin

        public java.lang.String _sjoin​(java.lang.String[] args)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _if

        public java.lang.String _if​(java.lang.String[] args)
                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • isTruthy

        public boolean isTruthy​(java.lang.String condition)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _now

        public java.lang.Object _now​(java.lang.String[] args)
      • _fmodified

        public java.lang.String _fmodified​(java.lang.String[] args)
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _long2date

        public java.lang.String _long2date​(java.lang.String[] args)
      • _literal

        public java.lang.String _literal​(java.lang.String[] args)
      • _def

        public java.lang.String _def​(java.lang.String[] args)
      • _list

        public java.lang.String _list​(java.lang.String[] args)
      • _replace

        public java.lang.String _replace​(java.lang.String[] args)
      • _replacelist

        public java.lang.String _replacelist​(java.lang.String[] args)
      • replace0

        private java.lang.String replace0​(java.lang.String help,
                                          java.util.function.Function<java.lang.String,​java.util.stream.Stream<java.lang.String>> splitter,
                                          java.lang.String[] args)
      • _replacestring

        public java.lang.String _replacestring​(java.lang.String[] args)
      • _warning

        public java.lang.String _warning​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _error

        public java.lang.String _error​(java.lang.String[] args)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _toclassname

        public java.lang.String _toclassname​(java.lang.String[] args)
      • _toclasspath

        public java.lang.String _toclasspath​(java.lang.String[] args)
      • _dir

        public java.lang.String _dir​(java.lang.String[] args)
      • _basename

        public java.lang.String _basename​(java.lang.String[] args)
      • _isfile

        public java.lang.String _isfile​(java.lang.String[] args)
      • _isdir

        public java.lang.String _isdir​(java.lang.String[] args)
      • _tstamp

        public java.lang.String _tstamp​(java.lang.String[] args)
      • getBuildNow

        private long getBuildNow()
      • _lsr

        public java.lang.String _lsr​(java.lang.String[] args)
      • _lsa

        public java.lang.String _lsa​(java.lang.String[] args)
      • ls

        private java.lang.String ls​(java.lang.String help,
                                    java.lang.String[] args,
                                    boolean relative)
      • _currenttime

        public java.lang.String _currenttime​(java.lang.String[] args)
      • _version

        public java.lang.String _version​(java.lang.String[] args)
      • _versionmask

        public java.lang.String _versionmask​(java.lang.String[] args)
      • version

        static java.lang.String version​(Version version,
                                        java.lang.String mask)
      • _range

        public java.lang.String _range​(java.lang.String[] args)
      • isLocalTarget

        boolean isLocalTarget​(java.lang.String string)
      • system_internal

        public java.lang.String system_internal​(boolean allowFail,
                                                java.lang.String[] args)
                                         throws java.lang.Exception
        System command. Execute a command and insert the result.
        Throws:
        java.lang.Exception
      • _system

        public java.lang.String _system​(java.lang.String[] args)
                                 throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _system_allow_fail

        public java.lang.String _system_allow_fail​(java.lang.String[] args)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _env

        public java.lang.String _env​(java.lang.String[] args)
      • _cat

        public java.lang.String _cat​(java.lang.String[] args)
                              throws java.io.IOException
        Get the contents of a file.
        Throws:
        java.io.IOException
      • _base64

        public java.lang.String _base64​(java.lang.String... args)
                                 throws java.io.IOException
        Get the Base64 encoding of a file.
        Throws:
        java.io.IOException
      • _digest

        public java.lang.String _digest​(java.lang.String... args)
                                 throws java.security.NoSuchAlgorithmException,
                                        java.io.IOException
        Get a digest of a file.
        Throws:
        java.security.NoSuchAlgorithmException
        java.io.IOException
      • verifyCommand

        public static void verifyCommand​(java.lang.String[] args,
                                         java.lang.String help,
                                         java.util.regex.Pattern[] patterns,
                                         int low,
                                         int high)
      • getFlattenedProperties

        public java.util.Properties getFlattenedProperties()
        Take all the properties and translate them to actual values. This method takes the set properties and traverse them over all entries, including the default properties for that properties. The values no longer contain macros.

        There are some rules

        • Property names starting with an underscore ('_') are ignored. These are reserved for properties that cause an unwanted side effect when expanded unnecessary
        • Property names starting with a minus sign ('-') are not expanded to maintain readability
        Returns:
        A new Properties with the flattened values
      • getFlattenedProperties

        public java.util.Properties getFlattenedProperties​(boolean ignoreInstructions)
        Take all the properties and translate them to actual values. This method takes the set properties and traverse them over all entries, including the default properties for that properties. The values no longer contain macros.

        Property names starting with an underscore ('_') are ignored. These are reserved for properties that cause an unwanted side effect when expanded unnecessary

        Returns:
        A new Properties with the flattened values
      • _osfile

        public java.lang.String _osfile​(java.lang.String[] args)
      • _path

        public java.lang.String _path​(java.lang.String[] args)
      • _size

        public int _size​(java.lang.String[] args)
      • getParent

        public static java.util.Properties getParent​(java.util.Properties p)
      • process

        public java.lang.String process​(java.lang.String line)
      • isNosystem

        public boolean isNosystem()
      • setNosystem

        public boolean setNosystem​(boolean nosystem)
      • _unescape

        public java.lang.String _unescape​(java.lang.String[] args)
      • _startswith

        public java.lang.String _startswith​(java.lang.String[] args)
                                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _endswith

        public java.lang.String _endswith​(java.lang.String[] args)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _extension

        public java.lang.String _extension​(java.lang.String[] args)
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _basenameext

        public java.lang.String _basenameext​(java.lang.String[] args)
                                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _bndversion

        public java.lang.String _bndversion​(java.lang.String[] args)
                                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _stem

        public java.lang.String _stem​(java.lang.String[] args)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _substring

        public java.lang.String _substring​(java.lang.String[] args)
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _rand

        public long _rand​(java.lang.String[] args)
                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _length

        public int _length​(java.lang.String[] args)
                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _get

        public java.lang.String _get​(java.lang.String[] args)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _sublist

        public java.lang.String _sublist​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • toList

        private java.util.List<java.lang.String> toList​(java.lang.String[] args,
                                                        int startInclusive,
                                                        int endExclusive)
      • _first

        public java.lang.String _first​(java.lang.String[] args)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _last

        public java.lang.String _last​(java.lang.String[] args)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _max

        public java.lang.String _max​(java.lang.String[] args)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _min

        public java.lang.String _min​(java.lang.String[] args)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _nmax

        public java.lang.String _nmax​(java.lang.String[] args)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _nmin

        public java.lang.String _nmin​(java.lang.String[] args)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _vmax

        public java.lang.String _vmax​(java.lang.String[] args)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _vmin

        public java.lang.String _vmin​(java.lang.String[] args)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _sum

        public java.lang.String _sum​(java.lang.String[] args)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _average

        public java.lang.String _average​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _reverse

        public java.lang.String _reverse​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _indexof

        public int _indexof​(java.lang.String[] args)
                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _lastindexof

        public int _lastindexof​(java.lang.String[] args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _find

        public int _find​(java.lang.String[] args)
                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _findlast

        public int _findlast​(java.lang.String[] args)
                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _split

        public java.lang.String _split​(java.lang.String[] args)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _js

        public java.lang.Object _js​(java.lang.String[] args)
                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • toString

        private java.lang.String toString​(java.lang.Object eval)
      • toString

        private java.lang.String toString​(double eval)
      • _toupper

        public java.lang.String _toupper​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _tolower

        public java.lang.String _tolower​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _compare

        public int _compare​(java.lang.String[] args)
                     throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _ncompare

        public int _ncompare​(java.lang.String[] args)
                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _vcompare

        public int _vcompare​(java.lang.String[] args)
                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _matches

        public boolean _matches​(java.lang.String[] args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _subst

        public java.lang.StringBuffer _subst​(java.lang.String[] args)
                                      throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _trim

        public java.lang.String _trim​(java.lang.String[] args)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _format

        public java.lang.String _format​(java.lang.String[] args)
                                 throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _isempty

        public boolean _isempty​(java.lang.String[] args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _isnumber

        public boolean _isnumber​(java.lang.String[] args)
                          throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _is

        public boolean _is​(java.lang.String[] args)
                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _map

        public java.lang.String _map​(java.lang.String[] args)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _foreach

        public java.lang.String _foreach​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _apply

        public java.lang.String _apply​(java.lang.String[] args)
                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _bytes

        public java.lang.String _bytes​(java.lang.String[] args)
        Format bytes
      • bytes

        private void bytes​(java.util.Formatter sb,
                           double l,
                           int i,
                           java.lang.String[] strings)
      • _glob

        public java.lang.String _glob​(java.lang.String[] args)
      • doCondition

        public boolean doCondition​(java.lang.String arg)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getCommands

        public java.util.Map<java.lang.String,​java.lang.String> getCommands()
        Get all the commands available
        Returns:
        a map with commands and their help
      • _template

        public java.lang.String _template​(java.lang.String[] args)
                                   throws java.io.IOException
        Take a macro name that maps to a Parameters and expand its entries using a template. The macro takes a macro name. It will merge and decorate this name before it applies it to the template. Each entry is mapped to the template. The template can use ${@} for the key and ${@attribute} for attributes.

        It would be nice to take the parameters value directly but this is really hard to do with the quoting. That is why we use a name. It is always possible to have an intermediate macro

        Parameters:
        args - 'template', macro-name of Parameters, template, separator=','
        Returns:
        the expanded template.
        Throws:
        java.io.IOException
      • _decorated

        public java.lang.String _decorated​(java.lang.String[] args)
                                    throws java.lang.Exception
        Return the merged and decorated value of a macro
        Throws:
        java.lang.Exception
      • __testdebug

        public java.lang.String __testdebug​(java.lang.String[] args)
                                     throws java.lang.Throwable
        Test macro to have exceptions, only active when inTest is active.
        Parameters:
        args - currently only 'exception'
        Returns:
        nothing of valeue
        Throws:
        java.lang.ClassNotFoundException
        java.lang.Throwable
      • _fileuri

        public java.lang.String _fileuri​(java.lang.String[] args)
                                  throws java.lang.Exception
        Throws:
        java.lang.Exception
      • _version_cleanup

        public java.lang.String _version_cleanup​(java.lang.String[] args)