Author: [log in to unmask]
Date: Thu Oct 23 00:47:46 2014
New Revision: 1278
Log:
Abstract class providing some of the common functionality used to define an SVT conditions object.
Added:
java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java (with props)
Added: java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java
=============================================================================
--- java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java (added)
+++ java/branches/hps_java_trunk_HPSJAVA-255/conditions/src/main/java/org/hps/conditions/svt/AbstractSvtConditions.java Thu Oct 23 00:47:46 2014
@@ -0,0 +1,81 @@
+package org.hps.conditions.svt;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.hps.conditions.svt.SvtChannel.SvtChannelCollection;
+import org.hps.conditions.svt.SvtT0Shift.SvtT0ShiftCollection;
+
+/**
+ * Abstract class providing some of the common functionality used to define an
+ * SVT conditions object
+ *
+ * @author Omar Moreno <[log in to unmask]>
+ *
+ * @param <T> SVT conditions object type
+ */
+public class AbstractSvtConditions {
+
+ protected Map<SvtChannel, ChannelConstants> channelData = new HashMap<SvtChannel, ChannelConstants>();
+ protected SvtChannelCollection channelMap = null;
+ protected SvtT0ShiftCollection t0Shifts = null;
+
+ public AbstractSvtConditions() {}
+
+ /**
+ * Get the conditions constants for a specific channel. These will be created if they
+ * do not exist for the given channel, BUT only channels in the current channel map
+ * are allowed as an argument.
+ *
+ * @param channel The SVT channel.
+ * @return The conditions constants for the channel.
+ * @throws IllegalArgumentException if .
+ */
+ public ChannelConstants getChannelConstants(SvtChannel channel) {
+ // This channel must come from the map.
+ if (!channelMap.getObjects().contains(channel)) {
+ System.err.println("Channel not found in map => " + channel);
+ throw new IllegalArgumentException("Channel was not found in map.");
+ }
+ // If channel has no data yet, then add it.
+ if (!channelData.containsKey(channel))
+ channelData.put(channel, new ChannelConstants());
+ return channelData.get(channel);
+ }
+
+ /**
+ * Get the {@link SvtChannelCollection} for this set of conditions.
+ *
+ * @return The SVT channel map.
+ */
+ public SvtChannelCollection getChannelMap() {
+ return channelMap;
+ }
+
+ /**
+ * Get the {@link SvtT0ShiftCollection}.
+ *
+ * @return The t0 shifts by sensor.
+ */
+ public SvtT0ShiftCollection getT0Shifts() {
+ return t0Shifts;
+ }
+
+ /**
+ * Set the channel map of type {@link SvtChannelCollection}.
+ *
+ * @param channelMap The SVT channel map.
+ */
+ public void setChannelMap(SvtChannelCollection channelMap){
+ this.channelMap = channelMap;
+ }
+
+ /**
+ * Set the sensor t0 shifts.
+ *
+ * @param t0Shifts The sensor time shifts collection.
+ */
+ public void setTimeShifts(SvtT0ShiftCollection t0Shifts) {
+ this.t0Shifts = t0Shifts;
+ }
+}
|