io.deepsense.neptune.clientlibrary.models.Channel Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of neptune-client-library Show documentation
Show all versions of neptune-client-library Show documentation
Enables integration with Neptune in your Java code
/**
* 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