📄 pipecalendar.java
字号:
package com.power.pipeengine.InputData;
import java.util.*;
import java.io.*;
import java.text.*;
import java.net.*;
import com.power.util.Message.*;
import com.power.pipeengine.Entity.*;
import com.power.pipe.*;
import com.power.util.Message.*;
import com.power.pipeengine.*;
public class PIPECalendar extends InputReader
{
static ResourceBundle res = ResourceBundle.getBundle("com.power.pipeengine.Res",
EngineConfig.getInstance().getLocale() );
private Vector _buckets = null;
private String _fileName = "Calendar";
private int _bucketCodeLength = 2;
public PIPECalendar() {
_buckets = new Vector();
}
public Vector getBuckets() {
return _buckets;
}
public int getTotalNumOfBuckets() {
return _buckets.size();
}
public Bucket getBucket( int bucketID ) {
//unsafe implementation
if( bucketID > _buckets.size() ) return null;
return (Bucket) _buckets.elementAt( bucketID -1 );
}
public Bucket getFirstBucket() {
return (Bucket) _buckets.elementAt( 0 );
}
public void addBucket( Bucket b ) {
_buckets.addElement( b );
}
protected String getFileName() {
return _fileName;
}
public void setDiscountRate() {
for( int i=0; i<_buckets.size(); i++ ) {
( (Bucket) _buckets.elementAt( i ) ).setDiscountRate();
}
}
public void readData() throws Exception {
BufferedReader d = super.getReader();
if( null == d ) {
return;
}
String token = GlobalConfig.getInstance().getSeparator();
String aLine = d.readLine();
SimpleDateFormat sdfInput = new SimpleDateFormat( "dd-MMM-yyyy" );
sdfInput.setDateFormatSymbols( new DateFormatSymbols( Locale.US ) );
while( aLine != null ) {
if( aLine.length() <= 1 ) {
aLine = d.readLine();
continue;
}
StringTokenizer st = new StringTokenizer( aLine, token );
int bucketID = new Integer( st.nextToken() ).intValue();
int numCalDays = new Integer( st.nextToken() ).intValue();
String startDate = st.nextToken();
Date date = sdfInput.parse( startDate );
Bucket b = new Bucket( bucketID, numCalDays, date );
b.setDateString( startDate );
b.setVariableCode( bucketID, _bucketCodeLength );
addBucket( b );
aLine = d.readLine();
}
d.close();
super.closeURLConnection();
checkDataSufficiency();
}
private void checkDataSufficiency() {
if( getTotalNumOfBuckets() < 2 ) {
MessageArea.getInstance().addMessage(
res.getString("Engine17001") +
res.getString("required_to_create_a") );
EngineConfig.getInstance().setDataSufficiency( false );
}
}
public void print() {
System.out.println( "\n\n\nCalendar ---------------------" );
for( int i=0; i<_buckets.size(); i++ ) {
Bucket b = (Bucket) _buckets.elementAt(i);
b.print();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -