things.common.configuration
Class ConfigureByProps

java.lang.Object
  extended by things.common.configuration.ConfigureByProps
All Implemented Interfaces:
Helpful

public class ConfigureByProps
extends java.lang.Object
implements Helpful

A configuration system that uses a SPECIFICATION file and properties.

Each line is a whitespace entry in the following format:

Command lines begin with a hash (#).

 token1_action:
    copy                - Copy only
    config      - Configure
    
 token2_modifier:
    only                - If copy, do not touch if configuring.  If config, do not touch if checkpointing.
    either      - Do whenever
    
 token3_scope:
    single
    recurse   
 

Version:
1.0

Version History

EPG - Initial - 12 JAN 05
 
Author:
Erich P. Gatejen

Field Summary
static java.lang.String ACTION_CONFIG
           
static java.lang.String ACTION_COPY
           
static char COMMENT_CHARACTER
           
static java.lang.String MODIFIER_EITHER
           
static java.lang.String MODIFIER_ONLY
           
static java.lang.String OPERATION_NAME_CHECKPOINT
           
static java.lang.String OPERATION_NAME_CONFIGURE
           
static java.lang.String SCOPE_RECURSE
           
static java.lang.String SCOPE_SINGLE
           
 
Constructor Summary
ConfigureByProps()
           
 
Method Summary
static void checkpoint(ThingsPropertyView props, LineFeeder configAsLines, StringPoster log, AFileSystem src, AFileSystem dest)
          Checkpoint the system.
static void configure(ThingsPropertyView props, LineFeeder configAsLines, StringPoster log, AFileSystem src, AFileSystem dest)
          Configure the system.
 java.lang.String help()
          Provide basic help as a string.
 Helper helper()
          Provide a helper for the help.
 java.lang.String information()
          Provide detailed information.
static void main(java.lang.String[] args)
          Cheap main() implementation for command line usage.
static void usage(StringPoster log)
          Print usage to a poster
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COMMENT_CHARACTER

public static final char COMMENT_CHARACTER
See Also:
Constant Field Values

ACTION_COPY

public static final java.lang.String ACTION_COPY
See Also:
Constant Field Values

ACTION_CONFIG

public static final java.lang.String ACTION_CONFIG
See Also:
Constant Field Values

MODIFIER_ONLY

public static final java.lang.String MODIFIER_ONLY
See Also:
Constant Field Values

MODIFIER_EITHER

public static final java.lang.String MODIFIER_EITHER
See Also:
Constant Field Values

SCOPE_SINGLE

public static final java.lang.String SCOPE_SINGLE
See Also:
Constant Field Values

SCOPE_RECURSE

public static final java.lang.String SCOPE_RECURSE
See Also:
Constant Field Values

OPERATION_NAME_CHECKPOINT

public static final java.lang.String OPERATION_NAME_CHECKPOINT
See Also:
Constant Field Values

OPERATION_NAME_CONFIGURE

public static final java.lang.String OPERATION_NAME_CONFIGURE
See Also:
Constant Field Values
Constructor Detail

ConfigureByProps

public ConfigureByProps()
Method Detail

checkpoint

public static void checkpoint(ThingsPropertyView props,
                              LineFeeder configAsLines,
                              StringPoster log,
                              AFileSystem src,
                              AFileSystem dest)
                       throws java.lang.Throwable
Checkpoint the system.

Parameters:
props - A property view.
configAsLines - A line for the configuration specification.
log - A String poster for logging issues. It is assumed to be verbose.
src - An abstract file system for the source location.
dest - An abstract file system for the destination location.
Throws:
java.lang.Throwable

configure

public static void configure(ThingsPropertyView props,
                             LineFeeder configAsLines,
                             StringPoster log,
                             AFileSystem src,
                             AFileSystem dest)
                      throws java.lang.Throwable
Configure the system.

Parameters:
props - A property view.
configAsLines - A line for the configuration specification.
log - A String poster for logging issues. It is assumed to be verbose.
src - An abstract file system for the source location.
dest - An abstract file system for the destination location.
Throws:
java.lang.Throwable

help

public java.lang.String help()
Provide basic help as a string. It should use ThingsMarkup for gimmicks.

Specified by:
help in interface Helpful
Returns:
The text of the help.
See Also:
ThingsMarkup

information

public java.lang.String information()
Provide detailed information. It should use ThingsMarkup for gimmicks.

Specified by:
information in interface Helpful
Returns:
The text of the information.
See Also:
ThingsMarkup

helper

public Helper helper()
Provide a helper for the help. This allows you to create a richer set of property help. It may return null if there is no more help.

Specified by:
helper in interface Helpful
Returns:
the helper or null.

usage

public static void usage(StringPoster log)
Print usage to a poster

Parameters:
log - A String poster for logging issues. It is assumed to be verbose.

main

public static void main(java.lang.String[] args)
Cheap main() implementation for command line usage.

Parameters:
args - The arguments.


Things.