This class is only a container for the information. The constructor does not validate the parameters passed in but just stores the values, except the name field is never allowed to be null. The get* methods return the values passed in the constructor or if the values are later modified by calling the set* methods, the get* methods return the modified values. The QualifiedCoordinates object inside the landmark is a mutable object and the Landmark object holds only a reference to it. Therefore, it is possible to modify the QualifiedCoordinates object inside the Landmark object by calling the set* methods in the QualifiedCoordinates object. However, any such dynamic modifications affect only the Landmark object instance, but MUST not automatically update the persistent landmark information in the landmark store. The LandmarkStore.updateLandmark method is the only way to commit the modifications to the persistent landmark store.
When the platform implementation returns Landmark objects, it MUST ensure that it only returns objects where the parameters have values set as described for their semantics in this class.
|
|