Package aQute.libg.sed
Class ReplacerAdapter
- java.lang.Object
-
- aQute.libg.reporter.ReporterAdapter
-
- aQute.libg.sed.ReplacerAdapter
-
public class ReplacerAdapter extends ReporterAdapter implements Replacer
Provide a macro Domain. This Domain 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 Domain (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/interfaces inherited from interface aQute.service.reporter.Report
Report.Location
-
Nested classes/interfaces inherited from interface aQute.service.reporter.Reporter
Reporter.SetLocation
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
_fileHelp
static java.lang.String
_fmodifiedHelp
-
Constructor Summary
Constructors Constructor Description ReplacerAdapter(Domain domain)
ReplacerAdapter(java.util.Map<java.lang.String,java.lang.String> domain)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.java.lang.String
_currenttime(java.lang.String[] args)
java.lang.String
_def(java.lang.String[] args)
java.lang.String
_dir(java.lang.String[] args)
java.lang.String
_env(java.lang.String[] args)
java.lang.String
_error(java.lang.String[] args)
java.lang.String
_filter(java.lang.String[] args)
java.lang.String
_filterout(java.lang.String[] args)
java.lang.String
_fmodified(java.lang.String[] args)
long
_freeMemory(java.lang.String[] args)
java.lang.String
_if(java.lang.String[] args)
java.lang.String
_isdir(java.lang.String[] args)
java.lang.String
_isfile(java.lang.String[] args)
java.lang.String
_join(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.long
_maxMemory(java.lang.String[] args)
long
_nanoTime(java.lang.String[] args)
java.lang.String
_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)
int
_processors(java.lang.String[] args)
java.lang.String
_random(java.lang.String[] args)
Generate a random string, which is guaranteed to be a valid Java identifier (first character is an ASCII letter, subsequent characters are ASCII letters or numbers).java.lang.String
_replace(java.lang.String[] args)
replace ;- ; regex ; replace
java.lang.String
_separator(java.lang.String[] args)
java.lang.String
_sort(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
_tstamp(java.lang.String[] args)
java.lang.String
_unescape(java.lang.String[] args)
java.lang.String
_uniq(java.lang.String[] args)
java.lang.String
_warning(java.lang.String[] args)
void
addTarget(java.lang.Object target)
int
findMacro(java.lang.CharSequence line, int index)
Traverses a string to find a macro.java.util.Map<java.lang.String,java.lang.String>
getFlattenedProperties()
Take all the properties and translate them to actual values.static java.util.Properties
getParent(java.util.Properties p)
java.lang.String
getProcessed(java.lang.String key)
static char
getTerminator(char c)
java.lang.String
process(java.lang.String line)
java.lang.String
process(java.lang.String line, Domain source)
void
removeTarget(java.lang.Object target)
protected java.lang.String
replace(java.lang.String key, aQute.libg.sed.ReplacerAdapter.Link link)
void
setReporter(Reporter reporter)
java.lang.String
system_internal(boolean allowFail, java.lang.String[] args)
System command.ReplacerAdapter
target(java.io.File base)
ReplacerAdapter
target(java.lang.Object target)
static void
verifyCommand(java.lang.String[] args, java.lang.String help, java.util.regex.Pattern[] patterns, int low, int high)
-
Methods inherited from class aQute.libg.reporter.ReporterAdapter
addErrors, addWarnings, check, error, exception, getErrors, getInfo, getInfo, getLocation, getMessages, getOut, getWarnings, isExceptions, isOk, isPedantic, isPerfect, isTrace, progress, report, run, setExceptions, setPedantic, setTrace, trace, warning
-
-
-
-
Field Detail
-
_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
-
-
Constructor Detail
-
ReplacerAdapter
public ReplacerAdapter(Domain domain)
-
ReplacerAdapter
public ReplacerAdapter(java.util.Map<java.lang.String,java.lang.String> domain)
-
-
Method Detail
-
target
public ReplacerAdapter target(java.lang.Object target)
-
target
public ReplacerAdapter target(java.io.File base)
-
process
public java.lang.String process(java.lang.String line, Domain source)
-
findMacro
public int findMacro(java.lang.CharSequence line, int index)
Traverses a string to find a macro. It can handle nested brackets.- Parameters:
line
- The line with the macroindex
- Points to the character after the '$'- Returns:
- the end position
-
getTerminator
public static char getTerminator(char c)
-
getProcessed
public java.lang.String getProcessed(java.lang.String key)
-
replace
protected java.lang.String replace(java.lang.String key, aQute.libg.sed.ReplacerAdapter.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)
-
_filterout
public java.lang.String _filterout(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)
-
_if
public java.lang.String _if(java.lang.String[] args)
-
_now
public java.lang.String _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
-- Returns:
- result
-
_warning
public java.lang.String _warning(java.lang.String[] args)
-
_error
public java.lang.String _error(java.lang.String[] args)
-
_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)
-
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.- Returns:
- contents of file
- Throws:
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.Map<java.lang.String,java.lang.String> 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.- 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)
-
getParent
public static java.util.Properties getParent(java.util.Properties p)
-
process
public java.lang.String process(java.lang.String line)
-
_random
public java.lang.String _random(java.lang.String[] args)
Generate a random string, which is guaranteed to be a valid Java identifier (first character is an ASCII letter, subsequent characters are ASCII letters or numbers). Takes an optional parameter for the length of string to generate; default is 8 characters.
-
setReporter
public void setReporter(Reporter reporter)
-
_processors
public int _processors(java.lang.String[] args)
-
_maxMemory
public long _maxMemory(java.lang.String[] args)
-
_freeMemory
public long _freeMemory(java.lang.String[] args)
-
_nanoTime
public long _nanoTime(java.lang.String[] args)
-
addTarget
public void addTarget(java.lang.Object target)
-
removeTarget
public void removeTarget(java.lang.Object target)
-
_unescape
public java.lang.String _unescape(java.lang.String[] args)
-
_bytes
public java.lang.String _bytes(java.lang.String[] args)
Format bytes
-
-