mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-08-27 13:14:18 +07:00
GitOrigin-RevId: 4695c81d99d13cec4d04d64c5c97a2837765eac8
41 lines
796 B
Java
41 lines
796 B
Java
public class FieldNoOverwrite {
|
|
private String myField;
|
|
private String myNext;
|
|
private FieldNoOverwrite[] myChildren;
|
|
|
|
void use() {
|
|
myField = myNext;
|
|
myNext = null;
|
|
}
|
|
|
|
void use2() {
|
|
myField = myNext;
|
|
myNext = null;
|
|
System.out.println(myField);
|
|
}
|
|
|
|
void withValue(String value, Runnable r) {
|
|
String oldValue = myField;
|
|
myField = value;
|
|
try {
|
|
r.run();
|
|
}
|
|
finally {
|
|
myField = oldValue;
|
|
}
|
|
}
|
|
|
|
void writeAtBranches(boolean b) {
|
|
myField = "1";
|
|
if (b) {
|
|
myNext = myField;
|
|
}
|
|
myField = "2";
|
|
}
|
|
|
|
void clearAll(FieldNoOverwrite[] children) {
|
|
for (FieldNoOverwrite child : myChildren) child.myField = "1";
|
|
myChildren = children;
|
|
for (FieldNoOverwrite child : children) child.myField = "2";
|
|
}
|
|
} |