stella.parameter
Class NightLength

java.lang.Object
  extended by util.PropertyContainer
      extended by util.PropertyResources
          extended by util.PropertyBundles
              extended by stella.parameter.AbstractParameter
                  extended by stella.parameter.AbstractValue
                      extended by stella.parameter.NightLength
All Implemented Interfaces:
Cloneable, Parameter, ParameterDepending, Value, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, Reloadable, ResourceSupplying

public class NightLength
extends AbstractValue
implements ParameterDepending, Reloadable

A class giving the length of the actual night in milliseconds. It needs the solar longitude and the latitude of the observatory. Additionally, the twilight can be influenced with the #KEY_TWILIGHT key that points to the cosine of the solar zenith distance that should mark the beginning of the night.


Nested Class Summary
static class NightLength.Test
          Test class.
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
private static String DEFLATITUDE
          The default name of the latitude parameter to use.
static String DEFNAME
          The default name of this value.
private static double DEFRISESETWILIGHT
          The default opening/closing solar height.
private static String DEFSOL
          The default name of the solar ecliptical longitude to use.
private static double DEFSOLARSET
          The default opening/closing solar height.
static String KEY_LATITUDE
          The name of the latitude to use.
static String KEY_RISETWILIGHT
          The target hight at which the roof opens/closes.
static String KEY_SETTWILIGHT
          The target hight at which the roof opens/closes.
static String KEY_SOL
          The name of the solar ecliptical longitude to use.
private  Value lambda
          The solar longitude.
private  Value phi
          The latitude of the observatory.
 
Fields inherited from class stella.parameter.AbstractParameter
KEY_FORMAT, KEY_NAME, KEY_PRESERVE, UNKNOWN
 
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.PropertySupplying
CONFIG, KEY_CLASS
 
Fields inherited from interface util.ResourceSupplying
KEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME
 
Constructor Summary
NightLength(Map prop)
          Constructs a new nigth length object.
 
Method Summary
 String getFormatted()
          Gets a formatted value of the night length.
 Number getValue()
          Returns the length of the night in milli seconds.
 void registerParameter(Parameter what)
          Registers the required additional information for the night length calculation.
 double rescanned(String key, String old, String newval)
          As any parameter depending instance we fail if the parameter we depend on is now a different one.
 Number setValue(Number val)
          Sets the night length.
 
Methods inherited from class stella.parameter.AbstractValue
get, set
 
Methods inherited from class stella.parameter.AbstractParameter
createParameter, delivers, exit, getFormatted, getName, getPreserveFile, getString, getString, init, register, setName, toString
 
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, 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, setObject, setProperties, setProperty, stringProperties
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface util.Reloadable
reload
 
Methods inherited from interface stella.Parameter
getName, getString
 
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
 
Methods inherited from interface util.ResourceSupplying
getResource, getResourceAsStream, getResources
 

Field Detail

KEY_LATITUDE

public static final String KEY_LATITUDE
The name of the latitude to use.

See Also:
Constant Field Values

KEY_SOL

public static final String KEY_SOL
The name of the solar ecliptical longitude to use.

See Also:
Constant Field Values

KEY_RISETWILIGHT

public static final String KEY_RISETWILIGHT
The target hight at which the roof opens/closes.

See Also:
Constant Field Values

KEY_SETTWILIGHT

public static final String KEY_SETTWILIGHT
The target hight at which the roof opens/closes.

See Also:
Constant Field Values

DEFRISESETWILIGHT

private static final double DEFRISESETWILIGHT
The default opening/closing solar height.

See Also:
Constant Field Values

DEFSOLARSET

private static final double DEFSOLARSET
The default opening/closing solar height.

See Also:
Constant Field Values

DEFNAME

public static final String DEFNAME
The default name of this value.

See Also:
Constant Field Values

DEFLATITUDE

private static final String DEFLATITUDE
The default name of the latitude parameter to use.

See Also:
Constant Field Values

DEFSOL

private static final String DEFSOL
The default name of the solar ecliptical longitude to use.

See Also:
Constant Field Values

lambda

private Value lambda
The solar longitude.


phi

private Value phi
The latitude of the observatory.

Constructor Detail

NightLength

public NightLength(Map prop)
Constructs a new nigth length object. Defaults #KEY_TWILIGHT.

Method Detail

registerParameter

public void registerParameter(Parameter what)
Registers the required additional information for the night length calculation. This includes the solar ecliptical longitude and the latitude of the site.

Specified by:
registerParameter in interface ParameterDepending

rescanned

public double rescanned(String key,
                        String old,
                        String newval)
As any parameter depending instance we fail if the parameter we depend on is now a different one.

Specified by:
rescanned in interface Reloadable
Overrides:
rescanned in class AbstractParameter

setValue

public Number setValue(Number val)
                throws UnsupportedOperationException
Sets the night length. The night length is a read-only variable, therefore this method throws an UnsupportedOperationException.

Specified by:
setValue in interface Value
Throws:
UnsupportedOperationException

getValue

public Number getValue()
Returns the length of the night in milli seconds.

Specified by:
getValue in interface Value

getFormatted

public String getFormatted()
Gets a formatted value of the night length. It is displayed as an hour-minute-second string.

Specified by:
getFormatted in interface Parameter
Overrides:
getFormatted in class AbstractParameter