stella.xml
Class BlockMerit

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

public class BlockMerit
extends AbstractMerit

A class defining a time-slot merit for a target that should be observed repetitive each night in the similar block fashion. A block is defined by the two keys KEY_BLOCK and KEY_DELAY and is constructed in the following way. The first number in the block key defines the immediate number of succession of (successful, if KEY_SUCCESS is true) observations that should be executed if the target has been picked first in the night, then the first number in delay specifies the wait time in ms until the second block becomes active. The second number in the comma-separated block list specifies the number of observations in the second block and so forth. The last entry in delay is ignored. If all blocks have been executed, no more picks will happen during that night. If not all blocks had been executed during a night, the next night nevertheless starts with the first block. The merit toggles between zero and one.
The default acts a a single successful pick per night.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private  List<Integer> blocks
          The observing blocks holding the observing counts.
private static String DEFBLOCK
          Default number of observations to force time-out.
private static double DEFBLOCKPRIORITY
          Default block priority.
private static String DEFDELAY
          Default value for the time-out.
private static String DEFNIGHTLENGTH
          Default time-span for successful observations.
private static String DEFNIGHTREMAIN
          Default time-span for successful observations.
static boolean DEFSUCCESS
          The key pointing to the name of the time parameter.
private static String DEFTIME
          Default time parameter name.
private  List<Long> delays
          The timeout between different blocks.
static String KEY_BLOCK
          The number of targets that must be observed to force timeout.
static String KEY_BLOCKPRIORITY
          The priority within a block (after first observation in the night).
static String KEY_DELAY
          The key linked to the time-out in milliseconds.
static String KEY_NIGHTLENGTH
          The key pointing to the name of the nightlength parameter.
static String KEY_NIGHTREMAIN
          The key pointing to the name of the nightremain parameter.
static String KEY_SUCCESS
          The key pointing to the name of the time parameter.
static String KEY_TIME
          The key pointing to the name of the time parameter.
private  boolean nowarn
          To avoid massup of log-lines.
 
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
BlockMerit(Map<String,String> prop)
          Constructs a time-out merit.
 
Method Summary
 double getMerit(ParameterClustering set, TargetDefinition target, Collection ignore, long within)
          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_DELAY

public static final String KEY_DELAY
The key linked to the time-out in milliseconds.

See Also:
Constant Field Values

KEY_BLOCK

public static final String KEY_BLOCK
The number of targets that must be observed to force timeout.

See Also:
Constant Field Values

KEY_BLOCKPRIORITY

public static final String KEY_BLOCKPRIORITY
The priority within a block (after first observation in the night).

See Also:
Constant Field Values

KEY_SUCCESS

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

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

KEY_NIGHTLENGTH

public static final String KEY_NIGHTLENGTH
The key pointing to the name of the nightlength parameter.

See Also:
Constant Field Values

KEY_NIGHTREMAIN

public static final String KEY_NIGHTREMAIN
The key pointing to the name of the nightremain parameter.

See Also:
Constant Field Values

DEFDELAY

private static final String DEFDELAY
Default value for the time-out.

See Also:
Constant Field Values

DEFBLOCK

private static final String DEFBLOCK
Default number of observations to force time-out.

See Also:
Constant Field Values

DEFBLOCKPRIORITY

private static final double DEFBLOCKPRIORITY
Default block priority. Rather high to ensure true blocking

See Also:
Constant Field Values

DEFSUCCESS

public static final boolean DEFSUCCESS
The key pointing to the name of the time parameter.

See Also:
Constant Field Values

DEFNIGHTLENGTH

private static final String DEFNIGHTLENGTH
Default time-span for successful observations.

See Also:
Constant Field Values

DEFNIGHTREMAIN

private static final String DEFNIGHTREMAIN
Default time-span for successful observations.

See Also:
Constant Field Values

DEFTIME

private static final String DEFTIME
Default time parameter name.

See Also:
Constant Field Values

blocks

private List<Integer> blocks
The observing blocks holding the observing counts.


delays

private List<Long> delays
The timeout between different blocks.


nowarn

private boolean nowarn
To avoid massup of log-lines.

Constructor Detail

BlockMerit

public BlockMerit(Map<String,String> prop)
Constructs a time-out 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 within)
Calculates the actual time slot merit. If the time passed (in ms) since the last observation is less than #KEY_TIMEOUT, a merit of zero is returned. If not, the succes being back #KEY_PERNIGHT in time is looked at. If this date compared to the actual time is shorter than the night length, zero is returned, otherwise one is returned.
If the target definition is not history aware, one is returned.

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