bunti/src/main/java/de/ctdo/bunti/model/Par56Spot.java

99 lines
2.7 KiB
Java
Raw Normal View History

package de.ctdo.bunti.model;
import de.ctdo.bunti.dmx.DMX;
import de.ctdo.bunti.dmx.model.DMXChannel;
import org.codehaus.jackson.annotate.JsonIgnore;
import javax.persistence.Entity;
import javax.persistence.Transient;
@Entity
public class Par56Spot extends BuntiDMXDevice {
2012-03-04 09:50:50 +00:00
private static final String CHANNEL_MODE = "mode";
private static final String CHANNEL_RED = "red";
private static final String CHANNEL_GREEN = "green";
2012-03-06 23:42:30 +00:00
private static final String CHANNEL_BLUE = "blue";
private static final String CHANNEL_SPEED = "speed";
2012-03-04 09:50:50 +00:00
public Par56Spot() {
super();
addChannels();
}
private void addChannels() {
2012-03-08 00:22:31 +00:00
int offset = 0;
addChannel(new DMXChannel(offset++, CHANNEL_MODE));
addChannel(new DMXChannel(offset++, CHANNEL_RED));
addChannel(new DMXChannel(offset++, CHANNEL_GREEN));
addChannel(new DMXChannel(offset++, CHANNEL_BLUE));
addChannel(new DMXChannel(offset, CHANNEL_SPEED));
2012-03-06 23:42:30 +00:00
}
public final void setRed(int value) {
2012-03-06 23:42:30 +00:00
setChannelValueByName(CHANNEL_RED, value);
}
public final void setGreen(int value) {
2012-03-06 23:42:30 +00:00
setChannelValueByName(CHANNEL_GREEN, value);
}
public final void setBlue(int value) {
2012-03-06 23:42:30 +00:00
setChannelValueByName(CHANNEL_BLUE, value);
}
@JsonIgnore
@Transient
public final int getRed() {
2012-03-06 23:42:30 +00:00
return getChannelValueByName(CHANNEL_RED);
}
@JsonIgnore
@Transient
public final int getGreen() {
2012-03-06 23:42:30 +00:00
return getChannelValueByName(CHANNEL_GREEN);
}
@JsonIgnore
@Transient
public final int getBlue() {
2012-03-06 23:42:30 +00:00
return getChannelValueByName(CHANNEL_BLUE);
}
@Override
public final void switchOff() {
setChannelValueByName(CHANNEL_MODE, DMX.DMX_CHANNEL_VALUE_MIN);
setRed(DMX.DMX_CHANNEL_VALUE_MIN);
setGreen(DMX.DMX_CHANNEL_VALUE_MIN);
setBlue(DMX.DMX_CHANNEL_VALUE_MIN);
2012-03-06 23:42:30 +00:00
setChannelValueByName(CHANNEL_SPEED, DMX.DMX_CHANNEL_VALUE_MIN);
}
@Override
public final void switchOn() {
setChannelValueByName(CHANNEL_MODE, DMX.DMX_CHANNEL_VALUE_MIN);
setRed(DMX.DMX_CHANNEL_VALUE_MAX);
setGreen(DMX.DMX_CHANNEL_VALUE_MAX);
setBlue(DMX.DMX_CHANNEL_VALUE_MAX);
2012-03-06 23:42:30 +00:00
setChannelValueByName(CHANNEL_SPEED, DMX.DMX_CHANNEL_VALUE_MIN);
}
@Override
public final String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Par56Spot ");
2012-03-21 20:22:53 +00:00
sb.append(getId());
sb.append(", ");
sb.append(getDeviceName());
sb.append(" [");
sb.append(getRed());
sb.append(",");
sb.append(getGreen());
sb.append(",");
sb.append(getBlue());
sb.append("]");
2012-03-06 23:42:30 +00:00
return sb.toString();
}
}