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 Modifier and Type Class Description (package private) static classReplacerAdapter.Link-
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(package private) static java.lang.String_filterHelpstatic java.lang.String_fmodifiedHelp(package private) static java.lang.String_ifHelp(package private) static java.lang.String_joinHelp(package private) static java.lang.String_nsortHelp(package private) static java.lang.String_sortHelp(package private) static java.lang.String_toclassnameHelptoclassname ;.class ( , .class ) * (package private) static java.lang.String_toclasspathHelptoclassname ;.class ( , .class ) * (package private) static java.lang.String_uniqHelpReturn a unique list where the duplicates are removed.(package private) java.io.Filebaseprivate static java.util.regex.PatterncommandsParse the key as a command.private static java.time.format.DateTimeFormatterDATE_TOSTRING(package private) Domaindomain(package private) booleanflattening(package private) static java.util.Randomrandom(package private) Reporterreporter(package private) java.util.List<java.lang.Object>targetsprivate static java.util.regex.PatternWILDCARD
-
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)private voidbytes(java.util.Formatter sb, double l, int i, java.lang.String[] strings)private java.lang.StringdoCommand(java.lang.Object target, java.lang.String method, java.lang.String[] args)private java.lang.StringdoCommands(java.lang.String key, ReplacerAdapter.Link source)(package private) java.lang.Stringfilter(java.lang.String[] args, boolean include)intfindMacro(java.lang.CharSequence line, int index)Traverses a string to find a macro.private java.util.List<java.lang.String>getAllKeys()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)(package private) java.lang.Stringls(java.lang.String[] args, boolean relative)(package private) intprocess(java.lang.CharSequence org, int index, char begin, char end, java.lang.StringBuilder result, ReplacerAdapter.Link link)java.lang.Stringprocess(java.lang.String line)java.lang.Stringprocess(java.lang.String line, Domain source)(package private) java.lang.Stringprocess(java.lang.String line, ReplacerAdapter.Link link)voidremoveTarget(java.lang.Object target)protected java.lang.Stringreplace(java.lang.String key, 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
-
random
static final java.util.Random random
-
WILDCARD
private static final java.util.regex.Pattern WILDCARD
-
domain
Domain domain
-
targets
java.util.List<java.lang.Object> targets
-
flattening
boolean flattening
-
base
java.io.File base
-
reporter
Reporter reporter
-
commands
private static final java.util.regex.Pattern commands
Parse the key as a command. A command consist of parameters separated by ':'.
-
_uniqHelp
static java.lang.String _uniqHelp
Return a unique list where the duplicates are removed.
-
_filterHelp
static java.lang.String _filterHelp
-
_sortHelp
static java.lang.String _sortHelp
-
_nsortHelp
static java.lang.String _nsortHelp
-
_joinHelp
static java.lang.String _joinHelp
-
_ifHelp
static java.lang.String _ifHelp
-
DATE_TOSTRING
private static final java.time.format.DateTimeFormatter DATE_TOSTRING
-
_fmodifiedHelp
public static final java.lang.String _fmodifiedHelp
- See Also:
- Constant Field Values
-
_toclassnameHelp
static java.lang.String _toclassnameHelp
toclassname ;.class ( , .class ) *
-
_toclasspathHelp
static java.lang.String _toclasspathHelp
toclassname ;.class ( , .class ) *
-
_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)
-
process
java.lang.String process(java.lang.String line, ReplacerAdapter.Link link)
-
process
int process(java.lang.CharSequence org, int index, char begin, char end, java.lang.StringBuilder result, ReplacerAdapter.Link link)
-
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, ReplacerAdapter.Link link)
-
getAllKeys
private java.util.List<java.lang.String> getAllKeys()
-
doCommands
private java.lang.String doCommands(java.lang.String key, ReplacerAdapter.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)
-
_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)
-
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)
-
_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)
-
ls
java.lang.String ls(java.lang.String[] args, boolean relative)
-
_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
-
bytes
private void bytes(java.util.Formatter sb, double l, int i, java.lang.String[] strings)
-
-