diff options
Diffstat (limited to 'src/com/softsynth/shared/time')
-rw-r--r-- | src/com/softsynth/shared/time/ScheduledCommand.java | 21 | ||||
-rw-r--r-- | src/com/softsynth/shared/time/ScheduledQueue.java | 85 | ||||
-rw-r--r-- | src/com/softsynth/shared/time/TimeStamp.java | 56 |
3 files changed, 0 insertions, 162 deletions
diff --git a/src/com/softsynth/shared/time/ScheduledCommand.java b/src/com/softsynth/shared/time/ScheduledCommand.java deleted file mode 100644 index 5b600a7..0000000 --- a/src/com/softsynth/shared/time/ScheduledCommand.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2009 Phil Burk, Mobileer Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.softsynth.shared.time; - -public interface ScheduledCommand { - public void run(); -} diff --git a/src/com/softsynth/shared/time/ScheduledQueue.java b/src/com/softsynth/shared/time/ScheduledQueue.java deleted file mode 100644 index 367e4f8..0000000 --- a/src/com/softsynth/shared/time/ScheduledQueue.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2009 Phil Burk, Mobileer Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.softsynth.shared.time; - -import java.util.LinkedList; -import java.util.List; -import java.util.SortedMap; -import java.util.TreeMap; - -/** - * Store objects in time sorted order. - */ -public class ScheduledQueue<T> { - private final SortedMap<TimeStamp, List<T>> timeNodes; - - public ScheduledQueue() { - timeNodes = new TreeMap<TimeStamp, List<T>>(); - } - - public boolean isEmpty() { - return timeNodes.isEmpty(); - } - - public synchronized void add(TimeStamp time, T obj) { - List<T> timeList = timeNodes.get(time); - if (timeList == null) { - timeList = new LinkedList<T>(); - timeNodes.put(time, timeList); - } - timeList.add(obj); - } - - public synchronized List<T> removeNextList(TimeStamp time) { - List<T> timeList = null; - if (!timeNodes.isEmpty()) { - TimeStamp lowestTime = timeNodes.firstKey(); - // Is the lowest time before or equal to the specified time. - if (lowestTime.compareTo(time) <= 0) { - timeList = timeNodes.remove(lowestTime); - } - } - return timeList; - } - - public synchronized Object removeNext(TimeStamp time) { - Object next = null; - if (!timeNodes.isEmpty()) { - TimeStamp lowestTime = timeNodes.firstKey(); - // Is the lowest time before or equal to the specified time. - if (lowestTime.compareTo(time) <= 0) { - List<T> timeList = timeNodes.get(lowestTime); - if (timeList != null) { - next = timeList.remove(0); - if (timeList.isEmpty()) { - timeNodes.remove(lowestTime); - } - } - } - } - return next; - } - - public synchronized void clear() { - timeNodes.clear(); - } - - public TimeStamp getNextTime() { - return timeNodes.firstKey(); - } - -} diff --git a/src/com/softsynth/shared/time/TimeStamp.java b/src/com/softsynth/shared/time/TimeStamp.java deleted file mode 100644 index 6d243ed..0000000 --- a/src/com/softsynth/shared/time/TimeStamp.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2009 Phil Burk, Mobileer Inc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.softsynth.shared.time; - -/** - * @author Phil Burk, (C) 2009 Mobileer Inc - */ -public class TimeStamp implements Comparable<TimeStamp> { - private final double time; - - public TimeStamp(double time) { - this.time = time; - } - - public double getTime() { - return time; - } - - /** - * @return -1 if (this < t2), 0 if equal, or +1 - */ - @Override - public int compareTo(TimeStamp t2) { - if (time < t2.time) - return -1; - else if (time == t2.time) - return 0; - else - return 1; - } - - /** - * Create a new TimeStamp at a relative offset in seconds. - * - * @param delta - * @return earlier or later TimeStamp - */ - public TimeStamp makeRelative(double delta) { - return new TimeStamp(time + delta); - } - -} |