From ec3c8d42eacf9c5294ca35eaaa93b72f670491b1 Mon Sep 17 00:00:00 2001 From: Steffen Schaefer Date: Thu, 23 Jun 2016 12:04:56 +0200 Subject: [PATCH] Added JavaDocs for SensorFixTrack/BravoFixTrack related classes --- .../domain/tracking/BravoFixTrack.java | 23 +++++++++++++++++++ .../domain/tracking/DynamicBravoFixTrack.java | 5 ++++ .../tracking/DynamicSensorFixTrack.java | 6 +++++ .../domain/tracking/SensorFixTrack.java | 17 ++++++++++++++ .../tracking/SensorFixTrackListener.java | 17 ++++++++++++++ .../tracking/impl/BravoFixTrackImpl.java | 12 ++++++++++ .../tracking/impl/SensorFixTrackImpl.java | 14 +++++++++++ 7 files changed, 94 insertions(+) diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java index d1092ae85a4..fcd4163de00 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/BravoFixTrack.java @@ -6,10 +6,33 @@ import com.sap.sailing.domain.common.tracking.BravoFix; import com.sap.sse.common.TimePoint; import com.sap.sse.common.WithID; +/** + * Specific {@link SensorFixTrack} for {@link BravoFix}es. + * + * @param the type of item mapped by this track + */ public interface BravoFixTrack extends SensorFixTrack { public static final String TRACK_NAME = "BravoFixTrack"; + /** + * Calculates the ride height for a specific {@link TimePoint} + * + * @param timePoint + * the {@link TimePoint} to get the ride height for. Must not be null. + * @return the ride height for the given {@link TimePoint} or null if the {@link TimePoint} is not in the range + * where we have fixes for. + */ Double getRideHeight(TimePoint timePoint); + /** + * Calculates the average ride height for the given time range. + * + * @param from + * the lower bound of the time range to get the ride height for. Must not be null. + * @param to + * the upper bound of the time range to get the ride height for. Must not be null. + * @return the average ride height for the given time range or null if there are no fixes in the given + * time range. + */ Double getAverageRideHeight(TimePoint from, TimePoint to); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicBravoFixTrack.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicBravoFixTrack.java index 6011abe2e1a..e951492418a 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicBravoFixTrack.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicBravoFixTrack.java @@ -5,6 +5,11 @@ import java.io.Serializable; import com.sap.sailing.domain.common.tracking.BravoFix; import com.sap.sse.common.WithID; +/** + * Mutable/dynamic version of {@link BravoFixTrack}. + * + * @param the type of item this track is mapped to + */ public interface DynamicBravoFixTrack extends BravoFixTrack, DynamicSensorFixTrack { } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicSensorFixTrack.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicSensorFixTrack.java index 1f6c728dfca..d51a87f29e1 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicSensorFixTrack.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/DynamicSensorFixTrack.java @@ -5,6 +5,12 @@ import java.io.Serializable; import com.sap.sailing.domain.common.tracking.SensorFix; import com.sap.sse.common.WithID; +/** + * Mutable/dynamic version of {@link SensorFixTrack}. + * + * @param the type of item this track is mapped to + * @param the type of fix that is contained in this track + */ public interface DynamicSensorFixTrack extends SensorFixTrack, DynamicTrack { diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrack.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrack.java index e24e901a88c..4a114ba1f2b 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrack.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrack.java @@ -5,16 +5,33 @@ import java.io.Serializable; import com.sap.sailing.domain.common.tracking.SensorFix; import com.sap.sse.common.WithID; +/** + * {@link Track} that holds {@link SensorFix} instances. + * + * As {@link SensorFix}es allow value name based access, the track provides the supported value names. + * + * @param the type of item this track is mapped to + * @param the type of fix that is contained in this track + */ public interface SensorFixTrack extends Track { + /** + * @return the value names that fixes contained in this track support + */ Iterable getValueNames(); void addListener(SensorFixTrackListener listener); void removeListener(SensorFixTrackListener listener); + /** + * @return the item this tracked is mapped to. + */ ItemType getTrackedItem(); + /** + * @return the associated track name by which this track can be obtained from the {@link TrackedRace}. + */ String getTrackName(); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrackListener.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrackListener.java index 4e90fb012eb..22f173f4bb5 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrackListener.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/SensorFixTrackListener.java @@ -2,8 +2,25 @@ package com.sap.sailing.domain.tracking; import com.sap.sailing.domain.common.tracking.SensorFix; +/** + * Listener to observe a {@link com.sap.sailing.domain.tracking.SensorFixTrack} to get informed whenever a new fix is + * being added to the track. + * + * @param + * the type of item the {@link com.sap.sailing.domain.tracking.SensorFixTrack} is mapped to + * @param + * the type of fix the {@link com.sap.sailing.domain.tracking.SensorFixTrack} contains + */ public interface SensorFixTrackListener extends TrackListener { + /** + * Called whenever a new fix is added to the {@link com.sap.sailing.domain.tracking.SensorFixTrack} the listener observes. + * + * @param fix the new fix + * @param item the item the track is mapped to + * @param trackName the name of the track + * @param firstFixInTrack true if the new fix is the first one that's added to the track, false otherwise. + */ void fixReceived(FixType fix, ItemType item, String trackName, boolean firstFixInTrack); } diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java index e700b70216f..5ead4f54551 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/BravoFixTrackImpl.java @@ -9,13 +9,25 @@ import com.sap.sailing.domain.common.sensordata.BravoSensorDataMetadata; import com.sap.sailing.domain.common.tracking.BravoFix; import com.sap.sailing.domain.tracking.BravoFixTrack; import com.sap.sailing.domain.tracking.DynamicBravoFixTrack; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sse.common.TimePoint; import com.sap.sse.common.WithID; +/** + * Specific {@link SensorFixTrackImpl} used for {@link BravoFix}es. + * + * @param the type of item this track is mapped to + */ public class BravoFixTrackImpl extends SensorFixTrackImpl implements DynamicBravoFixTrack { private static final long serialVersionUID = 5517848726456424386L; + /** + * @param trackedItem + * the item this track is mapped to + * @param trackName + * the name of the track by which it can be obtained from the {@link TrackedRace}. + */ public BravoFixTrackImpl(ItemType trackedItem, String trackName) { super(trackedItem, trackName, BravoSensorDataMetadata.INSTANCE.getColumns(), BravoFixTrack.TRACK_NAME + " for " + trackedItem); diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/SensorFixTrackImpl.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/SensorFixTrackImpl.java index 5da72295a6b..2a4a99ae03f 100644 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/SensorFixTrackImpl.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/SensorFixTrackImpl.java @@ -5,9 +5,17 @@ import java.util.function.Consumer; import com.sap.sailing.domain.common.tracking.SensorFix; import com.sap.sailing.domain.tracking.DynamicSensorFixTrack; +import com.sap.sailing.domain.tracking.SensorFixTrack; import com.sap.sailing.domain.tracking.SensorFixTrackListener; +import com.sap.sailing.domain.tracking.TrackedRace; import com.sap.sse.common.WithID; +/** + * Implementation of {@link SensorFixTrack} and {@link DynamicSensorFixTrack}. + * + * @param the type of item this track is mapped to + * @param the type of fix this track holds + */ public class SensorFixTrackImpl extends DynamicTrackImpl implements DynamicSensorFixTrack { @@ -18,6 +26,12 @@ public class SensorFixTrackImpl> listeners; + /** + * @param trackedItem the item this track is mapped to + * @param trackName the name of the track by which it can be obtained from the {@link TrackedRace}. + * @param valueNames the name of the values that can be obtained by fixes contained in the track + * @param nameForReadWriteLock the name to use for the lock object that is used internally + */ public SensorFixTrackImpl(ItemType trackedItem, String trackName, Iterable valueNames, String nameForReadWriteLock) { super(nameForReadWriteLock);