Package org.jbpm.simulation.impl.ht

Source Code of org.jbpm.simulation.impl.ht.Range

package org.jbpm.simulation.impl.ht;

import java.util.Calendar;

import org.joda.time.Interval;

public class Range implements Comparable<Range> {

    private int start;
    private int end;
   
    private Calendar localCalendar;
    private Interval interval;
    private AllocatedResources resources;
   
    public Range(int start, int end, int resourcePoolSize) {
        this.start = start;
        this.end = end;
        this.resources = new AllocatedResources(resourcePoolSize);
        this.localCalendar = Calendar.getInstance();
    }
   
    public boolean contains(long time) {
        localCalendar.setTimeInMillis(time);
        localCalendar.set(Calendar.HOUR_OF_DAY, start);
        localCalendar.set(Calendar.MINUTE, 0);
        long startInstant = localCalendar.getTimeInMillis();
       
        localCalendar.set(Calendar.HOUR_OF_DAY, end);
        long endInstant = localCalendar.getTimeInMillis();
        interval = new Interval(startInstant, endInstant);
       
        return interval.contains(time);
       
    }
   
    public AllocatedWork allocate(long startTime, long duration) {
        AllocatedWork allocatedWork = this.resources.allocate(startTime, duration, interval.getEndMillis());
       
        return allocatedWork;
    }
   
    public Interval getInterval() {
        return this.interval;
    }
   
    public int compareTo(Range o) {
       
        return this.end - o.start;
    }

}
TOP

Related Classes of org.jbpm.simulation.impl.ht.Range

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.