io.stepfunc.dnp3.AnalogOutputStatus Maven / Gradle / Ivy
// This library is provided under the terms of a non-commercial license.
//
// Please refer to the source repository for details:
//
// https://github.com/stepfunc/dnp3/blob/master/LICENSE.txt
//
// Please contact Step Function I/O if you are interested in commercial license:
//
// [email protected]
package io.stepfunc.dnp3;
import org.joou.*;
/**
* analog_output_status point
*/
public final class AnalogOutputStatus
{
/**
* Point index
*/
public UShort index;
/**
* Point value
*/
public double value;
/**
* Point flags
*/
public Flags flags;
/**
* Point timestamp
*/
public Timestamp time;
/**
* Point index
*/
public AnalogOutputStatus withIndex(UShort value)
{
this.index = value;
return this;
}
/**
* Point value
*/
public AnalogOutputStatus withValue(double value)
{
this.value = value;
return this;
}
/**
* Point flags
*/
public AnalogOutputStatus withFlags(Flags value)
{
this.flags = value;
return this;
}
/**
* Point timestamp
*/
public AnalogOutputStatus withTime(Timestamp value)
{
this.time = value;
return this;
}
/**
* Fully construct {@link AnalogOutputStatus} specifying the value of each field
*
* @param index Point index
* @param value Point value
* @param flags Point flags
* @param time Point timestamp
*/
public AnalogOutputStatus(UShort index, double value, Flags flags, Timestamp time)
{
this.index = index;
this.value = value;
this.flags = flags;
this.time = time;
}
void _assertFieldsNotNull()
{
java.util.Objects.requireNonNull(index, "index cannot be null");
java.util.Objects.requireNonNull(flags, "flags cannot be null");
flags._assertFieldsNotNull();
java.util.Objects.requireNonNull(time, "time cannot be null");
time._assertFieldsNotNull();
}
}