Package aQute.bnd.osgi
Class Macro
- java.lang.Object
-
- aQute.bnd.osgi.Macro
-
public class Macro extends java.lang.ObjectProvide 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.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String_fileHelpDeprecated.static java.lang.String_fmodifiedHelpstatic java.lang.String_nowHelpstatic java.lang.String_sizeHelpbooleaninTest
-
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 wheninTestis 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 bytesjava.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 macrojava.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)booleandoCondition(java.lang.String arg)java.util.Map<java.lang.String,java.lang.String>getCommands()Get all the commands availablejava.util.PropertiesgetFlattenedProperties()Take all the properties and translate them to actual values.java.util.PropertiesgetFlattenedProperties(boolean ignoreInstructions)Take all the properties and translate them to actual values.protected java.lang.StringgetMacro(java.lang.String key, aQute.bnd.osgi.Macro.Link link)static java.util.PropertiesgetParent(java.util.Properties p)static chargetTerminator(char c)booleanisNosystem()booleanisTruthy(java.lang.String condition)java.lang.Stringprocess(java.lang.String line)java.lang.Stringprocess(java.lang.String line, Processor source)java.lang.Stringreplace(java.lang.String key, aQute.bnd.osgi.Macro.Link link)booleansetNosystem(boolean nosystem)java.lang.Stringsystem_internal(boolean allowFail, java.lang.String[] args)System command.static voidverifyCommand(java.lang.String[] args, java.lang.String help, java.util.regex.Pattern[] patterns, int low, int high)
-
-
-
Field Detail
-
inTest
public boolean inTest
-
_nowHelp
public static final java.lang.String _nowHelp
- See Also:
- Constant Field Values
-
_fmodifiedHelp
public static final java.lang.String _fmodifiedHelp
- See Also:
- Constant Field Values
-
_fileHelp
@Deprecated public static final java.lang.String _fileHelp
Deprecated.- See Also:
- Constant Field Values
-
_sizeHelp
public static final java.lang.String _sizeHelp
- 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)
-
getTerminator
public static char getTerminator(char c)
-
getMacro
protected java.lang.String getMacro(java.lang.String key, aQute.bnd.osgi.Macro.Link link)
-
replace
public java.lang.String replace(java.lang.String key, aQute.bnd.osgi.Macro.Link link)
-
_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)
-
_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)
-
_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)
-
_lsr
public java.lang.String _lsr(java.lang.String[] args)
-
_lsa
public java.lang.String _lsa(java.lang.String[] args)
-
_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)
-
_range
public java.lang.String _range(java.lang.String[] args)
-
system_internal
public java.lang.String system_internal(boolean allowFail, java.lang.String[] args) throws java.lang.ExceptionSystem 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.IOExceptionGet the contents of a file.- Throws:
java.io.IOException
-
_base64
public java.lang.String _base64(java.lang.String... args) throws java.io.IOExceptionGet 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.IOExceptionGet a digest of a file.- Throws:
java.security.NoSuchAlgorithmExceptionjava.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
-
_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
-
_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
-
_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.IOExceptionTake 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.ExceptionReturn 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.ThrowableTest macro to have exceptions, only active wheninTestis active.- Parameters:
args- currently only 'exception'- Returns:
- nothing of valeue
- Throws:
java.lang.ClassNotFoundExceptionjava.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)
-
-