stella.parameter
Class Distance

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.Distance
All Implemented Interfaces:
Cloneable, Parameter, ParameterDepending, Value, ExitCleaning, Initializable, LocalizedSupplying, PropertySupplying, Reloadable, ResourceSupplying
Direct Known Subclasses:
Distance.TargetDistance

public class Distance
extends AbstractValue
implements ParameterDepending, Reloadable

A classs that calculates the distance between two points on the sphere. Four parameters have to be registered, giving ra,dec of the two points. A call to AbstractValue.get() retrieves the distance between these two points in degrees. Note that all parameters must deliver their value in degrees. Registering a TargetDependingParameter to this distance parameter allows proper calculation only after the target has been registered to the underlying parameters. For these cases, use a Distance.TargetDistance instead.


Nested Class Summary
static class Distance.TargetDistance
          Target-depending version for distance of target to moon.
 
Nested classes/interfaces inherited from class util.PropertyResources
PropertyResources.URLResource
 
Field Summary
protected  Value dec1
          The declination of the first point.
protected  Value dec2
          The declination of the second point.
static String DEFNAME
          The default name of this value.
private static DecimalFormat df
          The formatter for the distance.
static String KEY_DEC1
          The name of the parameter that gives the dec of the first point.
static String KEY_DEC2
          The name of the parameter that gives the dec of the second point.
static String KEY_RA1
          The name of the parameter that gives the ra of the first point.
static String KEY_RA2
          The name of the parameter that gives the ra of the second point.
static Map<String,String> MOONDISTANCE
          Use this properties for distance of target to moon.
protected  Value ra1
          The right ascension of the first point.
protected  Value ra2
          The right ascension of the second point.
static Map<String,String> SOLDISTANCE
          Use this properties for distance of target to sun.
 
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
Distance(Map<String,String> prop)
          Constructs a new distance parameter.
 
Method Summary
 Number getValue()
          Returns the distance of the two previousely registered points in degrees.
 void registerParameter(Parameter what)
          Registers the parameters giving the ra, dec of two points.
 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.
private static Double separation(double r1, double d1, double r2, double d2)
           
 Number setValue(Number val)
          Sets the distance.
 
Methods inherited from class stella.parameter.AbstractValue
get, set
 
Methods inherited from class stella.parameter.AbstractParameter
createParameter, delivers, exit, getFormatted, 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
getFormatted, 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

MOONDISTANCE

public static final Map<String,String> MOONDISTANCE
Use this properties for distance of target to moon.


SOLDISTANCE

public static final Map<String,String> SOLDISTANCE
Use this properties for distance of target to sun.


KEY_RA1

public static final String KEY_RA1
The name of the parameter that gives the ra of the first point.

See Also:
Constant Field Values

KEY_DEC1

public static final String KEY_DEC1
The name of the parameter that gives the dec of the first point.

See Also:
Constant Field Values

KEY_RA2

public static final String KEY_RA2
The name of the parameter that gives the ra of the second point.

See Also:
Constant Field Values

KEY_DEC2

public static final String KEY_DEC2
The name of the parameter that gives the dec of the second point.

See Also:
Constant Field Values

DEFNAME

public static final String DEFNAME
The default name of this value. Override to be more specific.

See Also:
Constant Field Values

df

private static final DecimalFormat df
The formatter for the distance.


ra1

protected Value ra1
The right ascension of the first point.


dec1

protected Value dec1
The declination of the first point.


ra2

protected Value ra2
The right ascension of the second point.


dec2

protected Value dec2
The declination of the second point.

Constructor Detail

Distance

public Distance(Map<String,String> prop)
Constructs a new distance parameter. The default name is not specific. None of the two points assumes any default val;ue.

Method Detail

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

registerParameter

public void registerParameter(Parameter what)
Registers the parameters giving the ra, dec of two points. No checks for types are made, only the parameter name counts.

Specified by:
registerParameter in interface ParameterDepending

getValue

public Number getValue()
Returns the distance of the two previousely registered points in degrees.

Specified by:
getValue in interface Value

separation

private static Double separation(double r1,
                                 double d1,
                                 double r2,
                                 double d2)

setValue

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

Specified by:
setValue in interface Value
Throws:
UnsupportedOperationException