org.orekit.utils.ParameterObserver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of orekit Show documentation
Show all versions of orekit Show documentation
OREKIT (ORbits Extrapolation KIT) is a low level space dynamics library.
It provides basic elements (orbits, dates, attitude, frames ...) and
various algorithms to handle them (conversions, analytical and numerical
propagation, pointing ...).
/* Copyright 2002-2021 CS GROUP
* Licensed to CS GROUP (CS) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* CS licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.orekit.utils;
import org.orekit.time.AbsoluteDate;
/** Interface for observing parameters changes.
* @see ParameterDriver
* @author Luc Maisonobe
* @since 8.0
*/
public interface ParameterObserver {
/** Notify that a parameter value has been changed.
* @param previousValue previous value
* @param driver parameter driver that has been changed
*/
void valueChanged(double previousValue, ParameterDriver driver);
/** Notify that a parameter reference date has been changed.
*
* The default implementation does nothing
*
* @param previousReferenceDate previous date (null if it is the first time
* the reference date is changed)
* @param driver parameter driver that has been changed
* @since 9.0
*/
default void referenceDateChanged(final AbsoluteDate previousReferenceDate, final ParameterDriver driver) {
// nothing by default
}
/** Notify that a parameter name has been changed.
*
* The default implementation does nothing
*
* @param previousName previous name
* @param driver parameter driver that has been changed
* @since 9.0
*/
default void nameChanged(final String previousName, final ParameterDriver driver) {
// nothing by default
}
/** Notify that a parameter selection status has been changed.
*
* The default implementation does nothing
*
* @param previousSelection previous selection
* @param driver parameter driver that has been changed
* @since 9.0
*/
default void selectionChanged(final boolean previousSelection, final ParameterDriver driver) {
// nothing by default
}
/** Notify that a parameter reference value has been changed.
*
* The default implementation does nothing
*
* @param previousReferenceValue previous reference value
* @param driver parameter driver that has been changed
* @since 9.0
*/
default void referenceValueChanged(final double previousReferenceValue, final ParameterDriver driver) {
// nothing by default
}
/** Notify that a parameter minimum value has been changed.
*
* The default implementation does nothing
*
* @param previousMinValue previous minimum value
* @param driver parameter driver that has been changed
* @since 9.0
*/
default void minValueChanged(final double previousMinValue, final ParameterDriver driver) {
// nothing by default
}
/** Notify that a parameter maximum value has been changed.
*
* The default implementation does nothing
*
* @param previousMaxValue previous maximum value
* @param driver parameter driver that has been changed
* @since 9.0
*/
default void maxValueChanged(final double previousMaxValue, final ParameterDriver driver) {
// nothing by default
}
/** Notify that a parameter scale has been changed.
*
* The default implementation does nothing
*
* @param previousScale previous scale
* @param driver parameter driver that has been changed
* @since 9.0
*/
default void scaleChanged(final double previousScale, final ParameterDriver driver) {
// nothing by default
}
}