|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
SourceCatalogEntry | An entry in a SourceCatalog . |
SourceCatalogProvider | A provider of source catalogs. |
SourceGroupListener | A convenience interface that locks down the generic item, group, and catalog types. |
SourceProvider | A provider of astronomical sources. |
SourceTableListener | A listener of events in a SourceLookupTable . |
Class Summary | |
---|---|
AreaBrightness | A source brightness that spans an area, as opposed to a single point. |
CleanFileBrightness | A source brightness that is described by a Clean Components File. |
DescriptiveBrightness | A base class for all source brightnesses that are not file based. |
DiskBrightness | A source brightness of type BrightnessDistribution.DISK . |
FileBasedBrightness | A source brightness whose description is based on a well known file format. |
FitsFileBrightness | A source brightness that is described by a Flexible Image Transport System file. |
GaussianBrightness | A source brightness of type BrightnessDistribution.GAUSSIAN . |
PointBrightness | A source brightness of type BrightnessDistribution.POINT . |
Source | An astronomical emitter of radio waves. |
SourceBrightness | The brightness of an astronomical source. |
SourceBrightnessFilter | A filter that operates on SourceBrightness objects. |
SourceBuilder | Helper for test classes; builds sources and their components. |
SourceCatalog | A catalog of Source s. |
SourceCatalogValidator | A validator of source catalogs . |
SourceFilter | A filter that operates on sources. |
SourceGroup | A collection of Source s and SourceLookupTable s. |
SourceGroupValidator | A validator of source groups . |
SourceImageLink | A descriptive link to an image of an astronomical source. |
SourceLookupTable | A lookup table where the index is of type Date
and the value is of type Source . |
SourceLookupTableValidator | A validator of source look-up tables . |
SourceValidator | A validator of sources . |
SourceVelocity | The velocity of an astronomical source. |
Subsource | A portion of an extended astronomical source. |
SubsourceValidator | A validator of subsources . |
UnknownBrightness | A source brightness whose properties are unknown. |
VlaFluxObservation | An observation of the flux from a source performed by the Very Large Array. |
VlaHistoricalCalibratorData | Structured representation of data from the old VLA Calibrator Manual. |
Enum Summary | |
---|---|
BrightnessDistribution | The distribution of the brightness of an astronomical source. |
SourceCategory | |
SourcePositionType | Deprecated. Use edu.sss.model.astronomy.SkyPositionType. |
Astronomical source object model.
The classes in this package represent the problem-domain objects. They are not tied to any particular persistence mechanism or presentation framework. They are the model classes within a model / view / controller construct.
Inheritance Heirarchy
The inheritance tree for SourceBrightness
might seem a little
unusual at first. The unusual feature is that the base class, as of this
writing, holds the union of all attributes of the extending classes.
These attributes, though, are not mutable until we reach the proper position
on the inheritance tree. For example, consider the diameter
properties and a PointSource
. One should not be able to set the
diameter of a point source, yet it is not unreasonable to ask a point source
what its diameter is (so long as you get back an answer of zero). The
diameter
properties are available for querying at the base class
level, but may not be set unless you are working with either a disk or
gaussian source.
One alternative to this approach would be to collapse the entire inheritance tree into a single class, with read/write ability to all the attributes from that class. This would be a very poor design. Since certain properties should not be writable for certain distribution types, this single class would need logic to ensure the proper fields were writable for a given distribution type. The set methods of such a class would most likely need to do something surprising or inconvenient if the client tried to violate the rules: ignore the client's request; throw an exception; adjust the distribution type to match the request.
Another alternative would be to move the attributes to the classes where they can be set. This is a more sensible approach than the one above, but would force reading clients to test the distribution type and cast to the appropriate subtype. We chose our approach so that clients could ask for a property and get a reasonable response without the test and cast, while at the same time allowing those mechanisms that make use of the bean convention to work properly. (A given property doesn't become a bean until it has the x/getX/setX triplet, and this doesn't happen until the proper level in the inheritance tree.)
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |