|
@@ -1,22 +1,18 @@ |
1 |
1 |
|
package com.temp.client.foundation.widget; |
2 |
2 |
|
|
3 |
|
- |
import com.google.gwt.user.client.ui.HasName; |
4 |
|
- |
import com.google.gwt.user.client.ui.Widget; |
5 |
|
- |
import com.temp.shared.utils.StringUtils; |
6 |
|
- |
|
7 |
|
- |
import java.util.ArrayList; |
8 |
|
- |
import java.util.HashMap; |
9 |
|
- |
import java.util.List; |
10 |
|
- |
import java.util.Map; |
|
3 |
+ |
import com.google.gwt.user.client.ui.*; |
|
4 |
+ |
import com.temp.shared.utils.*; |
|
5 |
+ |
|
|
6 |
+ |
import java.util.*; |
11 |
7 |
|
|
12 |
8 |
|
public final class NameToID { |
13 |
9 |
|
private Map<String, List<Widget>> widgetsById = new HashMap<String, List<Widget>>(); |
14 |
10 |
|
|
15 |
11 |
|
private String suffix; |
16 |
12 |
|
|
17 |
|
- |
public static void on(HasName... widgets) { |
18 |
|
- |
if ((widgets != null) && (widgets.length != 0)) { |
19 |
|
- |
new NameToID().add(widgets).applyIDs(); |
|
13 |
+ |
public static void on( HasName... widgets ) { |
|
14 |
+ |
if ( (widgets != null) && (widgets.length != 0) ) { |
|
15 |
+ |
new NameToID().add( widgets ).applyIDs(); |
20 |
16 |
|
} |
21 |
17 |
|
} |
22 |
18 |
|
|
|
@@ -24,79 +20,81 @@ |
24 |
20 |
|
suffix = ""; |
25 |
21 |
|
} |
26 |
22 |
|
|
27 |
|
- |
public NameToID(String suffix) { |
28 |
|
- |
this.suffix = StringUtils.deNull(suffix).trim(); |
|
23 |
+ |
public NameToID( String suffix ) { |
|
24 |
+ |
this.suffix = StringUtils.deNull( suffix ).trim(); |
29 |
25 |
|
} |
30 |
26 |
|
|
31 |
|
- |
public NameToID add(List<HasName> widgets) { |
32 |
|
- |
if (widgets != null) |
33 |
|
- |
for (HasName widget : widgets) { |
34 |
|
- |
tryAdd(widget); |
|
27 |
+ |
public NameToID add( List<HasName> widgets ) { |
|
28 |
+ |
if ( widgets != null ) { |
|
29 |
+ |
for ( HasName widget : widgets ) { |
|
30 |
+ |
tryAdd( widget ); |
35 |
31 |
|
} |
|
32 |
+ |
} |
36 |
33 |
|
return this; |
37 |
34 |
|
} |
38 |
35 |
|
|
39 |
|
- |
public NameToID add(HasName... widgets) { |
40 |
|
- |
if (widgets != null) |
41 |
|
- |
for (HasName widget : widgets) { |
42 |
|
- |
tryAdd(widget); |
|
36 |
+ |
public NameToID add( HasName... widgets ) { |
|
37 |
+ |
if ( widgets != null ) { |
|
38 |
+ |
for ( HasName widget : widgets ) { |
|
39 |
+ |
tryAdd( widget ); |
43 |
40 |
|
} |
|
41 |
+ |
} |
44 |
42 |
|
return this; |
45 |
43 |
|
} |
46 |
44 |
|
|
47 |
|
- |
public NameToID tryAdd(Widget widget) { |
48 |
|
- |
if (widget instanceof HasName) { |
49 |
|
- |
tryAdd((HasName)widget); |
|
45 |
+ |
public NameToID tryAdd( Widget widget ) { |
|
46 |
+ |
if ( widget instanceof HasName ) { |
|
47 |
+ |
tryAdd( (HasName) widget ); |
50 |
48 |
|
} |
51 |
49 |
|
return this; |
52 |
50 |
|
} |
53 |
51 |
|
|
54 |
|
- |
private void tryAdd(HasName widget) { |
55 |
|
- |
if (widget instanceof Widget) { |
56 |
|
- |
String id = extractId(widget); |
57 |
|
- |
if (id != null) { |
58 |
|
- |
add((Widget) widget, id + suffix); |
|
52 |
+ |
private void tryAdd( HasName widget ) { |
|
53 |
+ |
if ( widget instanceof Widget ) { |
|
54 |
+ |
String id = extractId( widget ); |
|
55 |
+ |
if ( id != null ) { |
|
56 |
+ |
add( (Widget) widget, id + suffix ); |
59 |
57 |
|
} |
60 |
58 |
|
} |
61 |
59 |
|
} |
62 |
60 |
|
|
63 |
61 |
|
public void applyIDs() { |
64 |
|
- |
for (Map.Entry<String, List<Widget>> widgetByName : widgetsById.entrySet()) { |
65 |
|
- |
applyIDs(widgetByName.getValue(), widgetByName.getKey()); |
|
62 |
+ |
for ( Map.Entry<String, List<Widget>> widgetByName : widgetsById.entrySet() ) { |
|
63 |
+ |
applyIDs( widgetByName.getValue(), widgetByName.getKey() ); |
66 |
64 |
|
} |
67 |
65 |
|
} |
68 |
66 |
|
|
69 |
|
- |
private void add(Widget widget, String id) { |
70 |
|
- |
List<Widget> widgets = widgetsById.get(id); |
71 |
|
- |
if (widgets == null) { |
72 |
|
- |
widgetsById.put(id, widgets = new ArrayList<Widget>()); |
|
67 |
+ |
private void add( Widget widget, String id ) { |
|
68 |
+ |
List<Widget> widgets = widgetsById.get( id ); |
|
69 |
+ |
if ( widgets == null ) { |
|
70 |
+ |
widgetsById.put( id, widgets = new ArrayList<Widget>() ); |
73 |
71 |
|
} |
74 |
|
- |
widgets.add(widget); |
|
72 |
+ |
widgets.add( widget ); |
75 |
73 |
|
} |
76 |
74 |
|
|
77 |
|
- |
private String extractId(HasName widget) { |
78 |
|
- |
if (widget instanceof HasIdOverride) { |
79 |
|
- |
return StringUtils.noEmpty(((HasIdOverride) widget).getIdOverride()); |
|
75 |
+ |
private String extractId( HasName widget ) { |
|
76 |
+ |
if ( widget instanceof HasIdOverride ) { |
|
77 |
+ |
return StringUtils.noEmpty( ((HasIdOverride) widget).getIdOverride() ); |
80 |
78 |
|
} |
81 |
|
- |
return StringUtils.noEmpty(widget.getName()); |
|
79 |
+ |
return StringUtils.noEmpty( widget.getName() ); |
82 |
80 |
|
} |
83 |
81 |
|
|
84 |
|
- |
private void applyIDs(List<Widget> widgets, String id) { |
85 |
|
- |
if (widgets.size() == 1) { |
86 |
|
- |
applyID(widgets.get(0), id); |
|
82 |
+ |
private void applyIDs( List<Widget> widgets, String id ) { |
|
83 |
+ |
if ( widgets.size() == 1 ) { |
|
84 |
+ |
applyID( widgets.get( 0 ), id ); |
87 |
85 |
|
return; |
88 |
86 |
|
} |
89 |
|
- |
for (int i = 0; i < widgets.size(); ) { |
90 |
|
- |
Widget widget = widgets.get(i++); |
91 |
|
- |
applyID(widget, id + i); |
|
87 |
+ |
for ( int i = 0; i < widgets.size(); ) { |
|
88 |
+ |
Widget widget = widgets.get( i++ ); |
|
89 |
+ |
applyID( widget, id + i ); |
92 |
90 |
|
} |
93 |
91 |
|
} |
94 |
92 |
|
|
95 |
|
- |
private void applyID(Widget widget, String id) { |
96 |
|
- |
if (widget instanceof IdSettable) { |
97 |
|
- |
((IdSettable) widget).setId(id); |
|
93 |
+ |
private void applyID( Widget widget, String id ) { |
|
94 |
+ |
if ( widget instanceof IdSettable ) { |
|
95 |
+ |
((IdSettable) widget).setId( id ); |
98 |
96 |
|
} else { |
99 |
|
- |
widget.getElement().setId(id); |
|
97 |
+ |
widget.getElement().setId( id ); |
100 |
98 |
|
} |
101 |
99 |
|
} |
102 |
100 |
|
} |