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_fileHelpDeprecated.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)voidaddTarget(java.lang.Object target)intfindMacro(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.PropertiesgetParent(java.util.Properties p)java.lang.StringgetProcessed(java.lang.String key)static chargetTerminator(char c)java.lang.Stringprocess(java.lang.String line)java.lang.Stringprocess(java.lang.String line, Domain source)voidremoveTarget(java.lang.Object target)protected java.lang.Stringreplace(java.lang.String key, aQute.libg.sed.ReplacerAdapter.Link link)voidsetReporter(Reporter reporter)java.lang.Stringsystem_internal(boolean allowFail, java.lang.String[] args)System command.ReplacerAdaptertarget(java.io.File base)ReplacerAdaptertarget(java.lang.Object target)static voidverifyCommand(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
@Deprecated public static final java.lang.String _fileHelp
Deprecated.- 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.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.- 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
-
-