1 | sclass WebNode implements _SetField { |
2 | Web web; |
3 | new L<Lisp> labels; |
4 | O visInfo; // visualisation info |
5 | |
6 | public void _setField(S f, O x) { |
7 | if (f.equals('web)) web = (Web) x; |
8 | else if (f.equals('labels)) labels = (L) x; |
9 | else if (f.equals('visInfo)) visInfo = x; |
10 | } |
11 | |
12 | *() {} |
13 | *(Web *web) { web.fireNewNode(this); } |
14 | |
15 | void addLabel(S label) { addLabel(web.parseLabel(label)); } |
16 | |
17 | void addLabel(Lisp label) { |
18 | if (setAdd(labels, label) && web != null) |
19 | web.index(label, this); |
20 | } |
21 | |
22 | void addLabels(Collection<Lisp> l) { for (Lisp lbl : l) addLabel(lbl); } |
23 | void addStrings(Collection<S> l) { for (S lbl : l) addLabel(lbl); } |
24 | |
25 | bool hasLabel(Lisp label) { ret labels.contains(label); } |
26 | bool hasLabel(S label) { ret labels.contains(web.parseLabel(label)); } |
27 | |
28 | toString { ret l(labels) == 1 ? str(first(labels)) : str(labels); } |
29 | |
30 | int count() { ret 1 + l(labels); } |
31 | S text() { ret web.unparseLabel(first(labels)); } |
32 | L<S> texts() { ret web.unparseLabels(labels); } |
33 | |
34 | void relation(S arrow, S b) { |
35 | web.getRelation(this, web.node(b)).addLabel(arrow); |
36 | } |
37 | |
38 | Lisp parseLabel(S l) { ret web.parseLabel(l); } |
39 | S unparseLabel(Lisp l) { ret web.unparseLabel(l); } |
40 | |
41 | L<Lisp> labels() { ret labels; } |
42 | bool hasLabels() { ret nempty(labels); } |
43 | void setLabel(int i, Lisp l) { labels.set(i, l); } |
44 | |
45 | O visInfo() { ret visInfo; } |
46 | void visInfo(O o) { visInfo = o; } |
47 | } |
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1012305 |
Snippet name: | WebNode v2 with L<Lisp> |
Eternal ID of this version: | #1012305/4 |
Text MD5: | 45e5e31689631ab2dc5e6fb49b7e33fb |
Author: | stefan |
Category: | javax / a.i. |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2017-11-27 17:46:00 |
Source code size: | 1470 bytes / 47 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 454 / 1074 |
Version history: | 3 change(s) |
Referenced in: | [show references] |