stella.xml
Class RepetitiveMerit

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.AbstractMerit
                  extended by stella.xml.RepetitiveMerit
All Implemented Interfaces:
Serializable, Cloneable, Meriting, Initializable, LocalizedSupplying, PropertySupplying, ResourceSupplying

public class RepetitiveMerit
extends AbstractMerit

This class can be used to implement a repetive pattern of observations. The KEY_TIMEOUT key points to a comma-separated list of time-outs. The first entry there points to the time-out enforced after the first successful observation, the second to the time-out after the second, etc. When all time-outs have been applied, the pattern is repeated for a maximum number of KEY_PATTERN times. Zero here means repetition forever.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static int DEFPATTERN
          Default number of repetitions of time-outs.
private static double DEFSCALE
          Default scaling factor, i.e.
private static String DEFTIME
          Default time parameter name.
private static String DEFTIMEOUT
          Default value for the time-outs.
static String KEY_PATTERN
          The time-outs to the modulus of the given observation.
static String KEY_SCALE
          Time-span within the targets must have been observed for a time-out.
static String KEY_TIME
          The key pointing to the name of the time parameter.
static String KEY_TIMEOUT
          The time-outs to the modulus of the given observation.
private  List timeout
          The list of timeouts.
 
Fields inherited from class util.PropertyBundles
KEY_LOCALECOUNTRY, KEY_LOCALELANGUAGE, KEY_RESOURCEBUNDLES
 
Fields inherited from class util.PropertyResources
KEY_NOINITONCREATE, localurl, locate, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_URL, urlset
 
Fields inherited from class util.PropertyContainer
KEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATOR
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Fields inherited from interface util.PropertySupplying
CONFIG, KEY_CLASS
 
Constructor Summary
RepetitiveMerit(Map prop)
          Constructs a pattern merit.
 
Method Summary
 double getMerit(ParameterClustering set, TargetDefinition target, Collection ignore, long dummy)
          Calculates the actual time slot merit.
 
Methods inherited from class stella.AbstractMerit
createMerit, getInitializer, initMerit
 
Methods inherited from class util.PropertyBundles
clone, getLocalized, getLocalized, getLocalizedString, getLocalizedString, loadResource
 
Methods inherited from class util.PropertyResources
createFrom, createFrom, createFrom, getApplet, getAsResources, getLocalClassLoader, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, init, keyCreate, keyCreate, reload, setApplet
 
Methods inherited from class util.PropertyContainer
augment, augment, augment, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, isNew, parseObject, reload, removeProperty, rescanned, setObject, setProperties, setProperty, stringProperties, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 
Methods inherited from interface util.PropertySupplying
defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringProperties
 
Methods inherited from interface util.Initializable
init
 

Field Detail

KEY_TIMEOUT

public static final String KEY_TIMEOUT
The time-outs to the modulus of the given observation.

See Also:
Constant Field Values

KEY_PATTERN

public static final String KEY_PATTERN
The time-outs to the modulus of the given observation.

See Also:
Constant Field Values

KEY_SCALE

public static final String KEY_SCALE
Time-span within the targets must have been observed for a time-out.

See Also:
Constant Field Values

KEY_TIME

public static final String KEY_TIME
The key pointing to the name of the time parameter.

See Also:
Constant Field Values

DEFTIMEOUT

private static final String DEFTIMEOUT
Default value for the time-outs.

See Also:
Constant Field Values

DEFPATTERN

private static final int DEFPATTERN
Default number of repetitions of time-outs.

See Also:
Constant Field Values

DEFSCALE

private static final double DEFSCALE
Default scaling factor, i.e. merit in 'on' phase.

See Also:
Constant Field Values

DEFTIME

private static final String DEFTIME
Default time parameter name.

See Also:
Constant Field Values

timeout

private List timeout
The list of timeouts.

Constructor Detail

RepetitiveMerit

public RepetitiveMerit(Map prop)
Constructs a pattern merit. It defaults the KEY_TIMEOUT parameter. Proper creation should be done using the AbstractMerit.createMerit(java.util.Map) method. This create method also takes care of proper parameter overloading.

Method Detail

getMerit

public double getMerit(ParameterClustering set,
                       TargetDefinition target,
                       Collection ignore,
                       long dummy)
Calculates the actual time slot merit. Depending on last successful observations, the merit is either zero or KEY_SCALE. The modulo of the current number of succesful observations with the length of the timeout list defines the currently active time-out. If the time elapsed since the last succesful observation has been made exceeds this time-out, zero is returned, otherwise, KEY_SCALE. After KEY_PATTERN repetitions of the pattern, zero is returned. The time-span is ignored.

Parameters:
set - Current observing conditions.
target - The actual target.
ignore - The list of targetes relevant to the actual target.
dummy - The relevant time span in ms.