Warning: session_start(): open(/var/lib/php/sessions/sess_ms3i9tsn5sqkf89prc6rgre4de, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
sclass WebNode implements _SetField {
Web web;
O labels;
public void _setField(S f, O x) {
if (f.equals('web)) web = (Web) x;
else if (f.equals('labels)) labels = (L) x;
}
*() {}
*(Web *web) { web.fireNewNode(this); }
final O rawLabels() {
if (labels instanceof S) labels = smallestList_fromList((L) labels);
ret labels;
}
void addLabel(S label) {
labels = smallestList_add(rawLabels(), label);
}
void addLabel(Lisp label) {
addLabel(web.unparseLabel(label));
}
void addLabels(Collection l) { for (Lisp lbl : l) addLabel(lbl); }
void addStrings(Collection l) { for (S lbl : l) addLabel(lbl); }
bool hasLabel(Lisp label) { ret hasLabel(web.unparseLabel(label)); }
bool hasLabel(S label) { ret smallestList_contains(rawLabels(), label); }
toString { ret smallestList_l(rawLabels()) == 1 ? str(smallestList_first(rawLabels())) : str(smallestList_toList(rawLabels())); }
int count() { ret 1 + smallestList_l(rawLabels()); }
S text() { ret (S) smallestList_first(rawLabels()); }
L texts() { ret smallestList_toList(rawLabels()); }
void relation(S arrow, S b) {
web.getRelation(this, web.node(b)).addLabel(arrow);
}
Lisp parseLabel(S l) { ret web.parseLabel(l); }
S unparseLabel(Lisp l) { ret web.unparseLabel(l); }
L labels() { ret web.parseLabels(texts()); }
bool hasLabels() { ret smallestList_nempty(rawLabels()); }
void setLabel(int i, Lisp l) { labels = smallestList_set(rawLabels(), i, web.unparseLabel(l)); }
O visInfo() { ret null; }
void visInfo(O o) {}
}