Package aQute.bnd.osgi
Class Macro
- java.lang.Object
-
- aQute.bnd.osgi.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.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
_fileHelp
static java.lang.String
_fmodifiedHelp
static java.lang.String
_nowHelp
static java.lang.String
_sizeHelp
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
_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
_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
_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
_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)
Wildcard a directory.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
_replace(java.lang.String[] args)
replace ;- ; regex ; replace
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
_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)
java.lang.String
_version(java.lang.String[] args)
java.lang.String
_versionmask(java.lang.String[] args)
java.lang.String
_warning(java.lang.String[] args)
boolean
doCondition(java.lang.String arg)
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, aQute.bnd.osgi.Macro.Link link)
static java.util.Properties
getParent(java.util.Properties p)
static char
getTerminator(char c)
boolean
isNosystem()
boolean
isTruthy(java.lang.String condition)
java.lang.String
process(java.lang.String line)
java.lang.String
process(java.lang.String line, Processor source)
java.lang.String
replace(java.lang.String key, aQute.bnd.osgi.Macro.Link link)
boolean
setNosystem(boolean nosystem)
java.lang.String
system_internal(boolean allowFail, java.lang.String[] args)
System command.static void
verifyCommand(java.lang.String[] args, java.lang.String help, java.util.regex.Pattern[] patterns, int low, int high)
-
-
-
Field Detail
-
_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
public static final java.lang.String _fileHelp
- 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)
-
_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)
-
_replace
public java.lang.String _replace(java.lang.String[] args)
replace ;- ; regex ; replace
- Parameters:
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)
Wildcard a directory. The lists can contain Instruction that are matched against the given directory ${lsr;; - (;
- )*} ${lsa;
; - (;
- )*}
-
_lsa
public java.lang.String _lsa(java.lang.String[] args)
-
_currenttime
public java.lang.String _currenttime(java.lang.String[] args)
-
_versionmask
public java.lang.String _versionmask(java.lang.String[] args)
-
_version
public java.lang.String _version(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.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
-
_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
-
_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
-
_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
-
-