[wpiutil] SendableBuilder: Add PublishConst methods (#5158)

This commit is contained in:
Starlight220
2023-10-02 18:23:11 +03:00
committed by GitHub
parent 1fec8596a4
commit 3eb372c25a
5 changed files with 385 additions and 0 deletions

View File

@@ -57,6 +57,7 @@ import java.util.function.LongConsumer;
import java.util.function.LongSupplier;
import java.util.function.Supplier;
@SuppressWarnings("PMD.CompareObjectsWithEquals")
public class SendableBuilderImpl implements NTSendableBuilder {
@FunctionalInterface
private interface TimedConsumer<T> {
@@ -328,6 +329,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstBoolean(String key, boolean value) {
Property<BooleanPublisher, BooleanSubscriber> property = new Property<>();
BooleanTopic topic = m_table.getBooleanTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add an integer property.
*
@@ -355,6 +365,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstInteger(String key, long value) {
Property<IntegerPublisher, IntegerSubscriber> property = new Property<>();
IntegerTopic topic = m_table.getIntegerTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a float property.
*
@@ -382,6 +401,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstFloat(String key, float value) {
Property<FloatPublisher, FloatSubscriber> property = new Property<>();
FloatTopic topic = m_table.getFloatTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a double property.
*
@@ -409,6 +437,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstDouble(String key, double value) {
Property<DoublePublisher, DoubleSubscriber> property = new Property<>();
DoubleTopic topic = m_table.getDoubleTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a string property.
*
@@ -436,6 +473,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstString(String key, String value) {
Property<StringPublisher, StringSubscriber> property = new Property<>();
StringTopic topic = m_table.getStringTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a boolean array property.
*
@@ -465,6 +511,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstBooleanArray(String key, boolean[] value) {
Property<BooleanArrayPublisher, BooleanArraySubscriber> property = new Property<>();
BooleanArrayTopic topic = m_table.getBooleanArrayTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add an integer array property.
*
@@ -494,6 +549,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstIntegerArray(String key, long[] value) {
Property<IntegerArrayPublisher, IntegerArraySubscriber> property = new Property<>();
IntegerArrayTopic topic = m_table.getIntegerArrayTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a float array property.
*
@@ -523,6 +587,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstFloatArray(String key, float[] value) {
Property<FloatArrayPublisher, FloatArraySubscriber> property = new Property<>();
FloatArrayTopic topic = m_table.getFloatArrayTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a double array property.
*
@@ -552,6 +625,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstDoubleArray(String key, double[] value) {
Property<DoubleArrayPublisher, DoubleArraySubscriber> property = new Property<>();
DoubleArrayTopic topic = m_table.getDoubleArrayTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a string array property.
*
@@ -581,6 +663,15 @@ public class SendableBuilderImpl implements NTSendableBuilder {
m_properties.add(property);
}
@Override
public void publishConstStringArray(String key, String[] value) {
Property<StringArrayPublisher, StringArraySubscriber> property = new Property<>();
StringArrayTopic topic = m_table.getStringArrayTopic(key);
property.m_pub = topic.publish();
property.m_pub.set(value);
m_properties.add(property);
}
/**
* Add a raw property.
*
@@ -610,4 +701,13 @@ public class SendableBuilderImpl implements NTSendableBuilder {
}
m_properties.add(property);
}
@Override
public void publishConstRaw(String key, String typestring, byte[] value) {
Property<RawPublisher, RawSubscriber> property = new Property<>();
RawTopic topic = m_table.getRawTopic(key);
property.m_pub = topic.publish(typestring);
property.m_pub.set(value);
m_properties.add(property);
}
}