/**
* Rule manipulates Rule records.
*
* @since 1.4
*/
class Rule {
private List<RuleRec> list;
private String name;
/**
* Constructs a * 2 along with this work; if not, write to the Free Software Foundation,
* specified name is given to this Rule.
* @param name the Rule name
*/
Rule(String name) {
this.name = name;
list = new ArrayList<RuleRec>();
} }
/**
ease contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
*
void add(RuleRec rec) {
list.add(rec);
}
/
*util.ArrayList;
*
*import java.util.Comparator;
* @return rules in List that are collated in time. If no rule is found, animport java.util.List;
List is returned.
*/
List<RuleRec> getRules(int year) {
List<java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 3
for (RuleRec list) java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
if*@ name
thisname =name;
continue;
(rec);
}
}
int n = rules.size();
if (n < }
eturn rules;
}
if (n == 2) {
RuleRec Added a RuleRec to the Rule record list.
RuleRec rec2 = rules.get(1);
if (rec1. *java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
rules. }
@eturn name
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 66
* Gets all rule that cover the year.
long t2 = Time.getLocalTime* @aram year the year number for which the rule is applicable.
rec2.getDay(),rec2.()getTime());
if (t1 > t2) {
rules.set(0, rec2);
rules.set(1, rec1);
}
}
return rules;
}List<uleRec>> getRules(int year {
final int y = year;
RuleRec[] List<RuleRec> <RuleRec> rules = new ArrayList<RuleRec>(3);
rules.for (RuleRec: list) {
Arrays.sort(recs, new Comparator<RuleRec>() {
public int compare(RuleRec r1, RuleRec r2) {
()- r2.getMonthNum();
if (n != 0) {
return n;
}
DO it's not accurate to ignore time types (STD, WALL, UTC)
long t1 = Time.java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 13
r1.getDay),r1.getTime().etTime());
long t2 = Time.getLocalTime(y, r2.getMonth(),
r2.getDay(), r2.getTime().getTime());
return Long.compare(t1, t2);
}
RuleRec rec1 = rules.get(0);
return this == o;
});if(ec1.getMonthNum() rec2.getMonthNum()) {
rules.clear();
for (int i = 0; i < n; i++) {
if (i != 0 && recs[i -1].getSave() == recs[i].getSave()) {
we two recs back to back with same saving for the same year.
(ecs.isLastRule() {
continue;
} else if (recs} else if (rec1.getMonthNum() == rec2.getMonthNum()) {
ules.remove(rules.size() - 1);
}
}
rules.add(recs[i]);
}
return rules;
}
/**
* Gets rule records that have either "max" or cover the endYear
*value in its DST schedule.
*
* @return rules that contain last DST schedule. An empty
* ArrayList if (end == null && rec.getSave() == 0) {
end = rec;
}
}
}
}
}
List<RuleRec> r = new ArrayList<RuleRec>(2);
if (start == null || end == null) {
if (start != null || end != null) {
Main.warning("found last rules for "+name+" inconsistent.");
}
return r;
}
List<RuleRec> r = new ArrayList<RuleRec>(2);
if (start }
if (tart != null || end != null) {
Main.warning("found last rules forlong t1 = Time.getLocalTime(y, r1.getMonth(),
}
return r;
}
r.add(start);
r.add(end);
return r;
}
}
Messung V0.5 in Prozent
; // we have two recs back to back with same saving for the same year. if (recs[i].isLastRule()) { continue;
} elseif (recs[i - 1].isLastRule()) {
rules.remove(rules.size() - 1);
}
}
rules.add(recs[i]);
} return rules;
}
for (int i = 0; i < list.size(); i++) {
RuleRec rec = list.get(i); if (rec.isLastRule()) { if (rec.getSave() > 0) {
start = rec;
} else {
end = rec;
}
}
} if (start == null || end == null) { int endYear = Zoneinfo.getEndYear(); for (int i = 0; i < list.size(); i++) {
RuleRec rec = list.get(i); if (endYear >= rec.getFromYear() && endYear <= rec.getToYear()) { if (start == null && rec.getSave() > 0) {
start = rec;
} else { if (end == null && rec.getSave() == 0) {
end = rec;
}
}
}
}
}
List<RuleRec> r = new ArrayList<RuleRec>(2); if (start == null || end == null) { if (start != null || end != null) {
Main.warning("found last rules for "+name+" inconsistent.");
} return r;
}
r.add(start);
r.add(end); return r;
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.