All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.yamcs.parameter.ParameterProvider Maven / Gradle / Ivy

There is a newer version: 5.10.9
Show newest version
package org.yamcs.parameter;

import org.yamcs.ProcessorService;
import org.yamcs.InvalidIdentification;
import org.yamcs.protobuf.Yamcs.NamedObjectId;
import org.yamcs.xtce.Parameter;

/**
 * interface implemented by all the classes that can provide parameters to the {@link ParameterProcessorManager}
 *
 */
public interface ParameterProvider extends ProcessorService {
    /**
     * Send parameters to this processor.
     * 
     * @param parameterProcessor
     */
    public abstract void setParameterProcessor(ParameterProcessor parameterProcessor);

    /**
     * Adds a new parameter to the list of parameters that have to provided
     * 
     * @param paramDef
     */
    public abstract void startProviding(Parameter paramDef);

    /**
     * start providing all known parameters
     */
    public abstract void startProvidingAll();

    /**
     * Removes a parameter from the list of parameters that have to be provided
     * 
     * @param paramDef
     */
    public abstract void stopProviding(Parameter paramDef);

    /**
     * Returns whether or not a given parameter can be provided by this provider
     * 
     * @return
     */
    public abstract boolean canProvide(NamedObjectId paraId);

    /**
     * Returns the parameterDefinition corresponding to the parameter id
     * 
     * @param paraId
     *            - id of the parameter that is returned
     * @return
     * @throws InvalidIdentification
     */
    public abstract Parameter getParameter(NamedObjectId paraId) throws InvalidIdentification;

    public abstract boolean canProvide(Parameter param);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy