]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/deletebydate/DateInfoList.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / tim / prune / function / deletebydate / DateInfoList.java
diff --git a/tim/prune/function/deletebydate/DateInfoList.java b/tim/prune/function/deletebydate/DateInfoList.java
deleted file mode 100644 (file)
index 979325b..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-package tim.prune.function.deletebydate;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-/**
- * List of date info objects for use by the table model
- */
-public class DateInfoList
-{
-       /** list of info about points according to date */
-       private List<DateInfo> _infoList = new ArrayList<DateInfo>();
-       /** previously used dateinfo object to reduce list searching */
-       private DateInfo _previousInfo = null;
-       /** true if the list has been sorted, false otherwise */
-       private boolean _hasBeenSorted = false;
-
-
-       /**
-        * Add a point to the corresponding dateinfo
-        * @param inDate date of current point, or null if no timestamp
-        */
-       public void addPoint(Date inDate)
-       {
-               DateInfo currentInfo = null;
-               if (_previousInfo != null && _previousInfo.isSameDate(inDate))
-               {
-                       // found it
-                       currentInfo = _previousInfo;
-               }
-               else
-               {
-                       // loop through list, to see if date already present
-                       for (DateInfo info : _infoList)
-                       {
-                               if (info.isSameDate(inDate))
-                               {
-                                       currentInfo = info;
-                                       break;
-                               }
-                       }
-                       // create new info if necessary
-                       if (currentInfo == null)
-                       {
-                               currentInfo = new DateInfo(inDate);
-                               _infoList.add(currentInfo);
-                               _hasBeenSorted = false;
-                       }
-                       _previousInfo = currentInfo;
-               }
-               // Now we've identified the current info or created a new one
-               currentInfo.incrementCount();
-       }
-
-       /**
-        * Clear the whole list
-        */
-       public void clearAll()
-       {
-               _infoList.clear();
-               _previousInfo = null;
-               _hasBeenSorted = true;
-       }
-
-       /**
-        * @return number of entries in the list, including dateless points
-        */
-       public int getNumEntries()
-       {
-               return _infoList.size();
-       }
-
-       /**
-        * @return the total number of points found, which should match the track size
-        */
-       public int getTotalNumPoints()
-       {
-               int total = 0;
-               for (DateInfo info : _infoList) {
-                       total += info.getPointCount();
-               }
-               return total;
-       }
-
-       /**
-        * Sort the info list by ascending timestamps
-        */
-       private void sort()
-       {
-               if (!_hasBeenSorted)
-               {
-                       Collections.sort(_infoList);
-                       _hasBeenSorted = true;
-               }
-       }
-
-       /**
-        * Get the DateInfo object at the given index
-        * @param inIndex index in (sorted) list
-        * @return corresponding object (may throw exception if out of range)
-        */
-       public DateInfo getDateInfo(int inIndex)
-       {
-               sort();
-               return _infoList.get(inIndex);
-       }
-}