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 class
ReplacerAdapter.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
_filterHelp
static 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
_toclassnameHelp
toclassname ;.class ( , .class ) * (package private) static java.lang.String
_toclasspathHelp
toclassname ;.class ( , .class ) * (package private) static java.lang.String
_uniqHelp
Return a unique list where the duplicates are removed.(package private) java.io.File
base
private static java.util.regex.Pattern
commands
Parse the key as a command.private static java.time.format.DateTimeFormatter
DATE_TOSTRING
(package private) Domain
domain
(package private) boolean
flattening
(package private) static java.util.Random
random
(package private) Reporter
reporter
(package private) java.util.List<java.lang.Object>
targets
private static java.util.regex.Pattern
WILDCARD
-
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)
private void
bytes(java.util.Formatter sb, double l, int i, java.lang.String[] strings)
private java.lang.String
doCommand(java.lang.Object target, java.lang.String method, java.lang.String[] args)
private java.lang.String
doCommands(java.lang.String key, ReplacerAdapter.Link source)
(package private) java.lang.String
filter(java.lang.String[] args, boolean include)
int
findMacro(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.Properties
getParent(java.util.Properties p)
java.lang.String
getProcessed(java.lang.String key)
static char
getTerminator(char c)
(package private) java.lang.String
ls(java.lang.String[] args, boolean relative)
(package private) int
process(java.lang.CharSequence org, int index, char begin, char end, java.lang.StringBuilder result, ReplacerAdapter.Link link)
java.lang.String
process(java.lang.String line)
java.lang.String
process(java.lang.String line, Domain source)
(package private) java.lang.String
process(java.lang.String line, ReplacerAdapter.Link link)
void
removeTarget(java.lang.Object target)
protected java.lang.String
replace(java.lang.String key, 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
-
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.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
-
bytes
private void bytes(java.util.Formatter sb, double l, int i, java.lang.String[] strings)
-
-