eu.xtreemos.xosd.resallocator
Class TimeTable

java.lang.Object
  extended by eu.xtreemos.xosd.resallocator.TimeTable

public class TimeTable
extends java.lang.Object


Nested Class Summary
private  class TimeTable.IntervalInfo
           
private  class TimeTable.TimeSlot
           
(package private)  class TimeTable.TimeTableEntry
           
 
Field Summary
private  java.util.ArrayList<TimeTable.TimeTableEntry> entries
           
private  java.util.Hashtable<java.lang.String,java.util.ArrayList<TimeTable.IntervalInfo>> intervalInfos
           
 
Constructor Summary
TimeTable()
           
 
Method Summary
 boolean addAllocation(java.lang.String owner, java.lang.String startTime, java.lang.String endTime, long amount, int type)
           
private  void addInfo(TimeTable.IntervalInfo info)
           
 boolean checkAllocation(java.lang.String owner, java.lang.String startTime, java.lang.String endTime, long amount, int type)
           
private  boolean checkUnlimitedResourceAllocation(java.lang.String owner, java.lang.String startTime, java.lang.String endTime, long amount, int type)
           
 java.lang.String dumpState()
           
private  java.util.ArrayList<TimeTable.TimeTableEntry> getExactBoundedIntervals(TimeTable.TimeSlot slot)
           
private  TimeTable.IntervalInfo getIntervalOwner(java.lang.String owner, TimeTable.TimeSlot slot)
           
private  java.util.ArrayList<TimeTable.TimeTableEntry> getIntervalsInBounds(TimeTable.TimeSlot slot)
           
 void releaseAllocation(java.lang.String owner, java.lang.String startTime, java.lang.String endTime)
           
 void releaseAllocationByOwner(java.lang.String owner)
           
private  void releaseAllocationInternal(TimeTable.IntervalInfo info, TimeTable.TimeSlot slot)
           
 void releasePartialAllocation(java.lang.String owner, java.lang.String startTime, java.lang.String endTime)
           
private  void removeInfo(TimeTable.IntervalInfo info)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

intervalInfos

private java.util.Hashtable<java.lang.String,java.util.ArrayList<TimeTable.IntervalInfo>> intervalInfos

entries

private java.util.ArrayList<TimeTable.TimeTableEntry> entries
Constructor Detail

TimeTable

public TimeTable()
Method Detail

addInfo

private void addInfo(TimeTable.IntervalInfo info)

removeInfo

private void removeInfo(TimeTable.IntervalInfo info)

getExactBoundedIntervals

private java.util.ArrayList<TimeTable.TimeTableEntry> getExactBoundedIntervals(TimeTable.TimeSlot slot)

getIntervalsInBounds

private java.util.ArrayList<TimeTable.TimeTableEntry> getIntervalsInBounds(TimeTable.TimeSlot slot)

checkUnlimitedResourceAllocation

private boolean checkUnlimitedResourceAllocation(java.lang.String owner,
                                                 java.lang.String startTime,
                                                 java.lang.String endTime,
                                                 long amount,
                                                 int type)

checkAllocation

public boolean checkAllocation(java.lang.String owner,
                               java.lang.String startTime,
                               java.lang.String endTime,
                               long amount,
                               int type)

addAllocation

public boolean addAllocation(java.lang.String owner,
                             java.lang.String startTime,
                             java.lang.String endTime,
                             long amount,
                             int type)

getIntervalOwner

private TimeTable.IntervalInfo getIntervalOwner(java.lang.String owner,
                                                TimeTable.TimeSlot slot)

releaseAllocationInternal

private void releaseAllocationInternal(TimeTable.IntervalInfo info,
                                       TimeTable.TimeSlot slot)

releaseAllocation

public void releaseAllocation(java.lang.String owner,
                              java.lang.String startTime,
                              java.lang.String endTime)

releaseAllocationByOwner

public void releaseAllocationByOwner(java.lang.String owner)

releasePartialAllocation

public void releasePartialAllocation(java.lang.String owner,
                                     java.lang.String startTime,
                                     java.lang.String endTime)

dumpState

public java.lang.String dumpState()