sketch of Runtime.exec() and Calendar; misc bugfixes

This commit is contained in:
Joel Dice
2007-09-12 18:21:37 -06:00
parent 182414c6e0
commit 7cb3a30a91
21 changed files with 339 additions and 54 deletions

View File

@ -11,4 +11,77 @@ public abstract class Calendar {
public static final int PM = 1;
public static final int SECOND = 13;
public static final int YEAR = 1;
public static final int FIELD_COUNT = 17;
protected long time;
protected boolean isTimeSet;
protected int[] fields = new int[FIELD_COUNT];
protected boolean areFieldsSet;
protected boolean[] isSet = new boolean[FIELD_COUNT];
protected Calendar() { }
public static Calendar getInstance() {
return new MyCalendar(System.currentTimeMillis());
}
public int get(int field) {
return fields[field];
}
public void set(int field, int value) {
fields[field] = value;
}
public abstract void roll(int field, boolean up);
public void roll(int field, int amount) {
boolean up = amount >= 0;
if (! up) {
amount = - amount;
}
for (int i = 0; i < amount; ++i) {
roll(field, up);
}
}
public abstract int getMinimum(int field);
public abstract int getMaximum(int field);
public abstract int getActualMinimum(int field);
public abstract int getActualMaximum(int field);
private static class MyCalendar extends Calendar {
public MyCalendar(long time) {
this.time = time;
this.isTimeSet = true;
}
public void roll(int field, boolean up) {
// todo
}
public int getMinimum(int field) {
// todo
return 0;
}
public int getMaximum(int field) {
// todo
return 0;
}
public int getActualMinimum(int field) {
// todo
return 0;
}
public int getActualMaximum(int field) {
// todo
return 0;
}
}
}