125 public int size() {
126 loadIfNecessary();
127 return super.size();
128 }
129
130 public Object[] allKeys() {
131 loadIfNecessary();
132 return super.allKeys();
133 }
134
135 public void setParent(ActionMap map) {
136 loadIfNecessary();
137 super.setParent(map);
138 }
139
140 private void loadIfNecessary() {
141 if (_loader != null) {
142 Object loader = _loader;
143
144 _loader = null;
145 Class klass = (Class)loader;
146 try {
147 Method method = klass.getDeclaredMethod("loadActionMap",
148 new Class[] { LazyActionMap.class });
149 method.invoke(klass, new Object[] { this });
150 } catch (NoSuchMethodException nsme) {
151 assert false : "LazyActionMap unable to load actions " +
152 klass;
153 } catch (IllegalAccessException iae) {
154 assert false : "LazyActionMap unable to load actions " +
155 iae;
156 } catch (InvocationTargetException ite) {
157 assert false : "LazyActionMap unable to load actions " +
158 ite;
159 } catch (IllegalArgumentException iae) {
160 assert false : "LazyActionMap unable to load actions " +
161 iae;
162 }
163 }
164 }
165 }
|
125 public int size() {
126 loadIfNecessary();
127 return super.size();
128 }
129
130 public Object[] allKeys() {
131 loadIfNecessary();
132 return super.allKeys();
133 }
134
135 public void setParent(ActionMap map) {
136 loadIfNecessary();
137 super.setParent(map);
138 }
139
140 private void loadIfNecessary() {
141 if (_loader != null) {
142 Object loader = _loader;
143
144 _loader = null;
145 Class<?> klass = (Class<?>)loader;
146 try {
147 Method method = klass.getDeclaredMethod("loadActionMap",
148 new Class[] { LazyActionMap.class });
149 method.invoke(klass, new Object[] { this });
150 } catch (NoSuchMethodException nsme) {
151 assert false : "LazyActionMap unable to load actions " +
152 klass;
153 } catch (IllegalAccessException iae) {
154 assert false : "LazyActionMap unable to load actions " +
155 iae;
156 } catch (InvocationTargetException ite) {
157 assert false : "LazyActionMap unable to load actions " +
158 ite;
159 } catch (IllegalArgumentException iae) {
160 assert false : "LazyActionMap unable to load actions " +
161 iae;
162 }
163 }
164 }
165 }
|