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

io.deepsense.neptune.clientlibrary.models.Channel Maven / Gradle / Ivy

There is a newer version: 1.6.1
Show newest version
/**
 * Copyright (c) 2016, CodiLime Inc.
 */

package io.deepsense.neptune.clientlibrary.models;


import java.util.UUID;

/**
 * A channel is a named series of two-dimensional points belonging to a job.
 * Channels can be defined only from the job’s source code.
 *
 * Each point’s abscissa (point’s X) is always a floating point number.
 *
 * The ordinate’s (point’s Y) type depends on channel’s type, which can be either:
 * - Numeric - Y is represented by a floating point number.
 * - Text - Y is represented by any text value.
 * - Image - Y is represented by an image with name and description.
 *
 * The points, called channel’s values, represent a function,
 * so X-coordinates have to be unique in a channel.
 * Moreover, the points generated by jobs during execution must be in order
 * so that the X-coordinates increase.
 */
public interface Channel {

    /**
     * Given values of X and Y, sends a channel value to Neptune.
     *
     * @param x - The value of channel value's X-coordinate.
     *      Values of the x parameter should be strictly increasing for consecutive calls.
     * @param y - The value of channel value's Y-coordinate.
     *      Accepted types: double for NUMERIC, string for TEXT, neptune.Image for IMAGE.
     */
    void send(double x, ChannelValueType y);

    /**
     *
     * @return The id of this Channel.
     */
    UUID getId();

    /**
     * Gets name of this Channel.
     * It must be unique in the scope of a specific job.
     *
     * @return The channel name.
     */
    String getName();

    /**
     *
     * @return The type of this Channel.
     */
    ChannelType getType();

    /**
     * Whether all values sent to the channel should be persisted; if not, only the last value is persisted
     *
     * @return The isHistoryPersisted property of this Channel.
     */
    boolean isHistoryPersisted();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy