?? resource.java
字號:
package com.power.pipeengine.Entity;
import java.util.*;
import com.power.pipeengine.InputData.*;
public class Resource extends com.power.pipeengine.Entity.Entity
{
private String _resourceID;
private int _facilityID;
private Vector _effectiveBucket = new Vector();
private Vector _hoursPerWDay = new Vector();
private Vector _timePhasedAvailData = new Vector();
private Vector _hoursByBucket = new Vector();
public Resource(String rscID,
int fID) {
_resourceID = rscID;
_facilityID = fID;
}
public void addTimePhasedAvailData( int bucket, double hours ) {
_effectiveBucket.addElement( new Integer( bucket ) );
_hoursPerWDay.addElement( new Double( hours ) );
}
public void consumeCapacity( int bucket, double hours ) {
Double cap = (Double) _hoursByBucket.elementAt(bucket - 1);
_hoursByBucket.remove(bucket - 1);
_hoursByBucket.insertElementAt(new Double(cap.doubleValue() - hours),
bucket - 1);
}
public Vector getTimePhasedAvailData() {
return _timePhasedAvailData;
}
public double getResourceHours( Bucket b ) {
Double hours = (Double) _timePhasedAvailData.elementAt( b.getBucketID() - 1 );
return hours.doubleValue();
}
public double getResourceHours( int b ) {
Double hours = (Double) _hoursByBucket.elementAt( b - 1 );
return hours.doubleValue();
}
public void buildTimePhasedAvailData() {
for( int k=1; k<((Integer)_effectiveBucket.elementAt(0)).intValue(); k++ ) {
Double hours = new Double( 0 );
_timePhasedAvailData.insertElementAt( hours, k-1 );
}
for( int i=0; i<_effectiveBucket.size()-1; i++ ) {
int currentBucket = ((Integer)_effectiveBucket.elementAt(i)).intValue();
int nextBucket = ((Integer)_effectiveBucket.elementAt(i+1) ).intValue();
for( int j=currentBucket; j<nextBucket; j++ ) {
Double hours = (Double) _hoursPerWDay.elementAt( i );
_timePhasedAvailData.insertElementAt( hours, j-1 );
}
}
//from last element to the end of horizon
int currentBucket = ((Integer)_effectiveBucket.lastElement()).intValue();
int numBuckets = DataModel.getInstance().getCalendar().getTotalNumOfBuckets();
for( int i=currentBucket; i<=numBuckets; i++ ) {
Double hours = (Double) _hoursPerWDay.lastElement();
_timePhasedAvailData.addElement( hours );
}
for( int i=0; i<numBuckets; i++ ) {
Double hoursPerDay = (Double) _timePhasedAvailData.elementAt( i );
double hoursInBucket = hoursPerDay.doubleValue() * this.getFacility().getNumWorkingDaysForBucket( i+1 );
_hoursByBucket.add( new Double( hoursInBucket) );
}
}
public String getResourceID() {
return _resourceID;
}
public int getFacilityID() {
return _facilityID;
}
public Facility getFacility() {
Facilities facilities = DataModel.getInstance().getFacilities();
return facilities.getFacility( _facilityID );
}
public void print() {
System.out.println( _resourceID + ","
+ _facilityID + ","
+ _timePhasedAvailData );
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -