aQute.lib.osgi
Class Macro

java.lang.Object
  extended by aQute.lib.osgi.Macro
All Implemented Interfaces:
Replacer

public class Macro
extends Object
implements Replacer

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
static String _fileHelp
           
static String _fmodifiedHelp
           
 
Constructor Summary
Macro(Processor domain, Object... targets)
           
 
Method Summary
 String _basename(String[] args)
           
 String _cat(String[] args)
          Get the contents of a file.
 String _currenttime(String[] args)
           
 String _def(String[] args)
           
 String _dir(String[] args)
           
 String _env(String[] args)
           
 String _error(String[] args)
           
 String _filter(String[] args)
           
 String _filterout(String[] args)
           
 String _fmodified(String[] args)
           
 String _if(String[] args)
           
 String _isdir(String[] args)
           
 String _isfile(String[] args)
           
 String _join(String[] args)
           
 String _literal(String[] args)
           
 String _long2date(String[] args)
           
 String _lsa(String[] args)
           
 String _lsr(String[] args)
          Wildcard a directory.
 String _now(String[] args)
           
 String _osfile(String[] args)
           
 String _path(String[] args)
           
 String _pathseparator(String[] args)
           
 String _range(String[] args)
           
 String _replace(String[] args)
          replace ; ; regex ; replace
 String _separator(String[] args)
           
 String _sort(String[] args)
           
 String _system_allow_fail(String[] args)
           
 String _system(String[] args)
           
 String _toclassname(String[] args)
           
 String _toclasspath(String[] args)
           
 String _tstamp(String[] args)
           
 String _uniq(String[] args)
           
 String _version(String[] args)
           
 String _warning(String[] args)
           
 Properties getFlattenedProperties()
          Take all the properties and translate them to actual values.
static Properties getParent(Properties p)
           
static char getTerminator(char c)
           
 String process(String line)
           
 String process(String line, Processor source)
           
protected  String replace(String key, aQute.lib.osgi.Macro.Link link)
           
 String system_internal(boolean allowFail, String[] args)
          System command.
static void verifyCommand(String[] args, String help, Pattern[] patterns, int low, int high)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_fmodifiedHelp

public static String _fmodifiedHelp

_fileHelp

public static String _fileHelp
Constructor Detail

Macro

public Macro(Processor domain,
             Object... targets)
Method Detail

process

public String process(String line,
                      Processor source)

getTerminator

public static char getTerminator(char c)

replace

protected String replace(String key,
                         aQute.lib.osgi.Macro.Link link)

_uniq

public String _uniq(String[] args)

_pathseparator

public String _pathseparator(String[] args)

_separator

public String _separator(String[] args)

_filter

public String _filter(String[] args)

_filterout

public String _filterout(String[] args)

_sort

public String _sort(String[] args)

_join

public String _join(String[] args)

_if

public String _if(String[] args)

_now

public String _now(String[] args)

_fmodified

public String _fmodified(String[] args)
                  throws Exception
Throws:
Exception

_long2date

public String _long2date(String[] args)

_literal

public String _literal(String[] args)

_def

public String _def(String[] args)

_replace

public String _replace(String[] args)
replace ; ; regex ; replace

Parameters:
args -
Returns:

_warning

public String _warning(String[] args)

_error

public String _error(String[] args)

_toclassname

public String _toclassname(String[] args)

_toclasspath

public String _toclasspath(String[] args)

_dir

public String _dir(String[] args)

_basename

public String _basename(String[] args)

_isfile

public String _isfile(String[] args)

_isdir

public String _isdir(String[] args)

_tstamp

public String _tstamp(String[] args)

_lsr

public String _lsr(String[] args)
Wildcard a directory. The lists can contain Instruction that are matched against the given directory ${lsr;;(;)*} ${lsa;;(;)*}


_lsa

public String _lsa(String[] args)

_currenttime

public String _currenttime(String[] args)

_version

public String _version(String[] args)

_range

public String _range(String[] args)

system_internal

public String system_internal(boolean allowFail,
                              String[] args)
                       throws Exception
System command. Execute a command and insert the result.

Parameters:
args -
help -
patterns -
low -
high -
Throws:
Exception

_system

public String _system(String[] args)
               throws Exception
Throws:
Exception

_system_allow_fail

public String _system_allow_fail(String[] args)
                          throws Exception
Throws:
Exception

_env

public String _env(String[] args)

_cat

public String _cat(String[] args)
            throws IOException
Get the contents of a file.

Parameters:
in -
Returns:
Throws:
IOException

verifyCommand

public static void verifyCommand(String[] args,
                                 String help,
                                 Pattern[] patterns,
                                 int low,
                                 int high)

getFlattenedProperties

public 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.

Returns:
A new Properties with the flattened values

_osfile

public String _osfile(String[] args)

_path

public String _path(String[] args)

getParent

public static Properties getParent(Properties p)

process

public String process(String line)
Specified by:
process in interface Replacer


Copyright © 2012 aQute SARL. All Rights Reserved.