1 // WARNING: This file was automatically generated. Do not edit it directly,
2 // or you will lose your changes.
3
4 /*
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements. See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership. The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License. You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied. See the License for the
19 * specific language governing permissions and limitations
20 * under the License.
21 */
22 package org.apache.myfaces.trinidad.component.core.nav;
23
24 import java.util.Arrays;
25 import java.util.Collection;
26 import java.util.Collections;
27 import java.util.List;
28 import java.util.Map;
29 import javax.faces.component.behavior.ClientBehavior;
30 import javax.faces.component.behavior.ClientBehaviorHolder;
31 import org.apache.myfaces.trinidad.bean.FacesBean;
32 import org.apache.myfaces.trinidad.bean.PropertyKey;
33 import org.apache.myfaces.trinidad.component.UIXCommand;
34 import org.apache.myfaces.trinidad.util.ComponentUtils;
35
36 /**
37 *
38 * <html:p>
39 * The commandLink control creates a link representation of a UIXCommand.
40 * </html:p>
41 *
42 * <h4>Events:</h4>
43 * <table border="1" width="100%" cellpadding="3" summary="">
44 * <tr bgcolor="#CCCCFF" class="TableHeadingColor">
45 * <th align="left">Type</th>
46 * <th align="left">Phases</th>
47 * <th align="left">Description</th>
48 * </tr>
49 * <tr class="TableRowColor">
50 * <td valign="top"><code>javax.faces.event.ActionEvent</code></td>
51 * <td valign="top" nowrap>Invoke<br>Application<br>Apply<br>Request<br>Values</td>
52 * <td valign="top">Event delivered when the "action" of the component has been
53 invoked; for example, by clicking on a button. The action may result
54 in page navigation.</td>
55 * </tr>
56 * <tr class="TableRowColor">
57 * <td valign="top"><code>org.apache.myfaces.trinidad.event.ReturnEvent</code></td>
58 * <td valign="top" nowrap>Apply<br>Request<br>Values</td>
59 * <td valign="top">Event delivered when the dialog has completed successfully.</td>
60 * </tr>
61 * <tr class="TableRowColor">
62 * <td valign="top"><code>org.apache.myfaces.trinidad.event.LaunchEvent</code></td>
63 * <td valign="top" nowrap>Invoke<br>Application<br>Apply<br>Request<br>Values</td>
64 * <td valign="top">Event delivered to prompt the command to launch a dialog.</td>
65 * </tr>
66 * <tr class="TableRowColor">
67 * <td valign="top"><code>org.apache.myfaces.trinidad.event.AttributeChangeEvent</code></td>
68 * <td valign="top" nowrap>Invoke<br>Application<br>Apply<br>Request<br>Values</td>
69 * <td valign="top">Event delivered to describe an attribute change. Attribute change events are not delivered for any programmatic change to a property. They are only delivered when a renderer changes a property without the application's specific request. An example of an attribute change event might include the width of a column that supported client-side resizing.</td>
70 * </tr>
71 * </table>
72 */
73 public class CoreCommandLink extends UIXCommand
74 implements ClientBehaviorHolder
75 {
76 static public final FacesBean.Type TYPE = new FacesBean.Type(
77 UIXCommand.TYPE);
78 static public final PropertyKey TEXT_KEY =
79 TYPE.registerKey("text", String.class);
80 static public final PropertyKey DISABLED_KEY =
81 TYPE.registerKey("disabled", Boolean.class, Boolean.FALSE);
82 static public final PropertyKey ACCESS_KEY_KEY =
83 TYPE.registerKey("accessKey", Character.class);
84 static public final PropertyKey PARTIAL_SUBMIT_KEY =
85 TYPE.registerKey("partialSubmit", Boolean.class, Boolean.FALSE);
86 static public final PropertyKey BLOCKING_KEY =
87 TYPE.registerKey("blocking", Boolean.class, Boolean.FALSE);
88 static public final PropertyKey INLINE_STYLE_KEY =
89 TYPE.registerKey("inlineStyle", String.class);
90 static public final PropertyKey STYLE_CLASS_KEY =
91 TYPE.registerKey("styleClass", String.class);
92 static public final PropertyKey SHORT_DESC_KEY =
93 TYPE.registerKey("shortDesc", String.class);
94 static public final PropertyKey PARTIAL_TRIGGERS_KEY =
95 TYPE.registerKey("partialTriggers", String[].class, null, 0, PropertyKey.Mutable.RARELY);
96 static public final PropertyKey ONCLICK_KEY =
97 TYPE.registerKey("onclick", String.class);
98 static public final PropertyKey ONDBLCLICK_KEY =
99 TYPE.registerKey("ondblclick", String.class);
100 static public final PropertyKey ONMOUSEDOWN_KEY =
101 TYPE.registerKey("onmousedown", String.class);
102 static public final PropertyKey ONMOUSEUP_KEY =
103 TYPE.registerKey("onmouseup", String.class);
104 static public final PropertyKey ONMOUSEOVER_KEY =
105 TYPE.registerKey("onmouseover", String.class);
106 static public final PropertyKey ONMOUSEMOVE_KEY =
107 TYPE.registerKey("onmousemove", String.class);
108 static public final PropertyKey ONMOUSEOUT_KEY =
109 TYPE.registerKey("onmouseout", String.class);
110 static public final PropertyKey ONKEYPRESS_KEY =
111 TYPE.registerKey("onkeypress", String.class);
112 static public final PropertyKey ONKEYDOWN_KEY =
113 TYPE.registerKey("onkeydown", String.class);
114 static public final PropertyKey ONKEYUP_KEY =
115 TYPE.registerKey("onkeyup", String.class);
116 static public final PropertyKey ONBLUR_KEY =
117 TYPE.registerKey("onblur", String.class);
118 static public final PropertyKey ONFOCUS_KEY =
119 TYPE.registerKey("onfocus", String.class);
120 static public final PropertyKey USE_WINDOW_KEY =
121 TYPE.registerKey("useWindow", Boolean.class, Boolean.FALSE);
122 static public final PropertyKey WINDOW_HEIGHT_KEY =
123 TYPE.registerKey("windowHeight", Integer.class);
124 static public final PropertyKey WINDOW_WIDTH_KEY =
125 TYPE.registerKey("windowWidth", Integer.class);
126
127 static public final String COMPONENT_FAMILY =
128 "org.apache.myfaces.trinidad.Command";
129 static public final String COMPONENT_TYPE =
130 "org.apache.myfaces.trinidad.CoreCommandLink";
131 // Supported client events for client behaviors:
132 private final static Collection<String> _EVENT_NAMES = Collections.unmodifiableCollection(
133 Arrays.asList(
134 "action", "click", "dblclick", "mousedown", "mouseup", "mouseover",
135 "mousemove", "mouseout", "keypress", "keydown", "keyup", "blur",
136 "focus"
137 ));
138
139 /**
140 * Construct an instance of the CoreCommandLink.
141 */
142 public CoreCommandLink()
143 {
144 super("org.apache.myfaces.trinidad.Link");
145 }
146
147 /**
148 * Gets the textual label of the link.
149 *
150 * @return the new text value
151 */
152 final public String getText()
153 {
154 return ComponentUtils.resolveString(getProperty(TEXT_KEY));
155 }
156
157 /**
158 * Sets the textual label of the link.
159 *
160 * @param text the new text value
161 */
162 final public void setText(String text)
163 {
164 setProperty(TEXT_KEY, (text));
165 }
166
167 /**
168 * Gets whether the link should be considered disabled.
169 * This attribute only has meaning when links are used in certain
170 * container types, such as global headers and tab bars.
171 *
172 * @return the new disabled value
173 */
174 final public boolean isDisabled()
175 {
176 return ComponentUtils.resolveBoolean(getProperty(DISABLED_KEY), false);
177 }
178
179 /**
180 * Sets whether the link should be considered disabled.
181 * This attribute only has meaning when links are used in certain
182 * container types, such as global headers and tab bars.
183 *
184 * @param disabled the new disabled value
185 */
186 final public void setDisabled(boolean disabled)
187 {
188 setProperty(DISABLED_KEY, disabled ? Boolean.TRUE : Boolean.FALSE);
189 }
190
191 /**
192 * Gets <html>
193 * Character used to gain quick access to this link.
194 * For accessibility reasons, this functionality is not
195 * supported in screen reader mode.
196 * <p>
197 * If the same access key appears in multiple input fields in the
198 * same page of output, the rendering user agent will cycle among
199 * the elements accessed by the similar keys. Note that user agents
200 * are inconsistent about dealing with two links having same access
201 * key, and so the cycling behavior is dependent on what the user agent
202 * provides.
203 * </p><p>
204 * This attribute is sometimes referred to as the "mnemonic".
205 * </p><p>
206 * The character specified by this attribute
207 * <strong>must</strong> exist in the
208 * <code>Text</code> attribute of this Link instance.
209 * If it does not, the user will receive no visual indication of
210 * the existence of the accessKey.
211 * </p></html>
212 *
213 * @return the new accessKey value
214 */
215 final public char getAccessKey()
216 {
217 return ComponentUtils.resolveCharacter((Character)getProperty(ACCESS_KEY_KEY));
218 }
219
220 /**
221 * Sets <html>
222 * Character used to gain quick access to this link.
223 * For accessibility reasons, this functionality is not
224 * supported in screen reader mode.
225 * <p>
226 * If the same access key appears in multiple input fields in the
227 * same page of output, the rendering user agent will cycle among
228 * the elements accessed by the similar keys. Note that user agents
229 * are inconsistent about dealing with two links having same access
230 * key, and so the cycling behavior is dependent on what the user agent
231 * provides.
232 * </p><p>
233 * This attribute is sometimes referred to as the "mnemonic".
234 * </p><p>
235 * The character specified by this attribute
236 * <strong>must</strong> exist in the
237 * <code>Text</code> attribute of this Link instance.
238 * If it does not, the user will receive no visual indication of
239 * the existence of the accessKey.
240 * </p></html>
241 *
242 * @param accessKey the new accessKey value
243 */
244 final public void setAccessKey(char accessKey)
245 {
246 setProperty(ACCESS_KEY_KEY, Character.valueOf(accessKey));
247 }
248
249 /**
250 * Gets whether the action should be done through a partial page submit
251 * or not.
252 * Default is false: no partial page submit.
253 *
254 * @return the new partialSubmit value
255 */
256 final public boolean isPartialSubmit()
257 {
258 return ComponentUtils.resolveBoolean(getProperty(PARTIAL_SUBMIT_KEY), false);
259 }
260
261 /**
262 * Sets whether the action should be done through a partial page submit
263 * or not.
264 * Default is false: no partial page submit.
265 *
266 * @param partialSubmit the new partialSubmit value
267 */
268 final public void setPartialSubmit(boolean partialSubmit)
269 {
270 setProperty(PARTIAL_SUBMIT_KEY, partialSubmit ? Boolean.TRUE : Boolean.FALSE);
271 }
272
273 /**
274 * Gets If set to TRUE the component will start blocking user input when the
275 * action is initiated. The blocking will stop when a response is received
276 * from the server.
277 *
278 * @return the new blocking value
279 */
280 final public boolean isBlocking()
281 {
282 return ComponentUtils.resolveBoolean(getProperty(BLOCKING_KEY), false);
283 }
284
285 /**
286 * Sets If set to TRUE the component will start blocking user input when the
287 * action is initiated. The blocking will stop when a response is received
288 * from the server.
289 *
290 * @param blocking the new blocking value
291 */
292 final public void setBlocking(boolean blocking)
293 {
294 setProperty(BLOCKING_KEY, blocking ? Boolean.TRUE : Boolean.FALSE);
295 }
296
297 /**
298 * Gets the CSS styles to use for this component.
299 *
300 * @return the new inlineStyle value
301 */
302 final public String getInlineStyle()
303 {
304 return ComponentUtils.resolveString(getProperty(INLINE_STYLE_KEY));
305 }
306
307 /**
308 * Sets the CSS styles to use for this component.
309 *
310 * @param inlineStyle the new inlineStyle value
311 */
312 final public void setInlineStyle(String inlineStyle)
313 {
314 setProperty(INLINE_STYLE_KEY, (inlineStyle));
315 }
316
317 /**
318 * Gets a CSS style class to use for this component.
319 *
320 * @return the new styleClass value
321 */
322 final public String getStyleClass()
323 {
324 return ComponentUtils.resolveString(getProperty(STYLE_CLASS_KEY));
325 }
326
327 /**
328 * Sets a CSS style class to use for this component.
329 *
330 * @param styleClass the new styleClass value
331 */
332 final public void setStyleClass(String styleClass)
333 {
334 setProperty(STYLE_CLASS_KEY, (styleClass));
335 }
336
337 /**
338 * Gets The short description of the component. This text is commonly used by user agents to display tooltip help text.
339 *
340 * @return the new shortDesc value
341 */
342 final public String getShortDesc()
343 {
344 return ComponentUtils.resolveString(getProperty(SHORT_DESC_KEY));
345 }
346
347 /**
348 * Sets The short description of the component. This text is commonly used by user agents to display tooltip help text.
349 *
350 * @param shortDesc the new shortDesc value
351 */
352 final public void setShortDesc(String shortDesc)
353 {
354 setProperty(SHORT_DESC_KEY, (shortDesc));
355 }
356
357 /**
358 * Gets the IDs of the components that should trigger a partial update.
359 * <p>
360 * This component will listen on the trigger components. If one of the
361 * trigger components receives an event that will cause it to update
362 * in some way, this component will request to be updated too.</p>
363 * <p>
364 * Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
365 * </p>
366 * <p>
367 * Identifiers must account for NamingContainers. You can use a single colon to start the search from the root,
368 * or use multiple colons to move up through the NamingContainer. For example,
369 * "::" will pop out of this component's naming container (it pops out of itself if it is a naming container),
370 * ":::" will pop out of two naming containers, etc. The search for
371 * the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the
372 * component with id = commandButton1 after popping out of two naming containers relative to this component.
373 * To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
374 *
375 * @return the new partialTriggers value
376 */
377 final public String[] getPartialTriggers()
378 {
379 return (String[])getProperty(PARTIAL_TRIGGERS_KEY);
380 }
381
382 /**
383 * Sets the IDs of the components that should trigger a partial update.
384 * <p>
385 * This component will listen on the trigger components. If one of the
386 * trigger components receives an event that will cause it to update
387 * in some way, this component will request to be updated too.</p>
388 * <p>
389 * Separate multiple triggers with a space. e.g., partialTriggers="cmp1 cmp2"
390 * </p>
391 * <p>
392 * Identifiers must account for NamingContainers. You can use a single colon to start the search from the root,
393 * or use multiple colons to move up through the NamingContainer. For example,
394 * "::" will pop out of this component's naming container (it pops out of itself if it is a naming container),
395 * ":::" will pop out of two naming containers, etc. The search for
396 * the partialTrigger begins from there. e.g., partialTriggers=":::commandButton1" the search begins for the
397 * component with id = commandButton1 after popping out of two naming containers relative to this component.
398 * To go into naming containers, you separate the naming containers with ':', e.g.,partialTriggers= "nc1:nc2:nc3:componentId".</p>
399 *
400 * @param partialTriggers the new partialTriggers value
401 */
402 final public void setPartialTriggers(String[] partialTriggers)
403 {
404 setProperty(PARTIAL_TRIGGERS_KEY, (partialTriggers));
405 }
406
407 /**
408 * Gets an onclick Javascript handler.
409 *
410 * @return the new onclick value
411 */
412 final public String getOnclick()
413 {
414 return ComponentUtils.resolveString(getProperty(ONCLICK_KEY));
415 }
416
417 /**
418 * Sets an onclick Javascript handler.
419 *
420 * @param onclick the new onclick value
421 */
422 final public void setOnclick(String onclick)
423 {
424 setProperty(ONCLICK_KEY, (onclick));
425 }
426
427 /**
428 * Gets an ondblclick Javascript handler.
429 *
430 * @return the new ondblclick value
431 */
432 final public String getOndblclick()
433 {
434 return ComponentUtils.resolveString(getProperty(ONDBLCLICK_KEY));
435 }
436
437 /**
438 * Sets an ondblclick Javascript handler.
439 *
440 * @param ondblclick the new ondblclick value
441 */
442 final public void setOndblclick(String ondblclick)
443 {
444 setProperty(ONDBLCLICK_KEY, (ondblclick));
445 }
446
447 /**
448 * Gets an onmousedown Javascript handler.
449 *
450 * @return the new onmousedown value
451 */
452 final public String getOnmousedown()
453 {
454 return ComponentUtils.resolveString(getProperty(ONMOUSEDOWN_KEY));
455 }
456
457 /**
458 * Sets an onmousedown Javascript handler.
459 *
460 * @param onmousedown the new onmousedown value
461 */
462 final public void setOnmousedown(String onmousedown)
463 {
464 setProperty(ONMOUSEDOWN_KEY, (onmousedown));
465 }
466
467 /**
468 * Gets an onmouseup Javascript handler.
469 *
470 * @return the new onmouseup value
471 */
472 final public String getOnmouseup()
473 {
474 return ComponentUtils.resolveString(getProperty(ONMOUSEUP_KEY));
475 }
476
477 /**
478 * Sets an onmouseup Javascript handler.
479 *
480 * @param onmouseup the new onmouseup value
481 */
482 final public void setOnmouseup(String onmouseup)
483 {
484 setProperty(ONMOUSEUP_KEY, (onmouseup));
485 }
486
487 /**
488 * Gets an onmouseover Javascript handler.
489 *
490 * @return the new onmouseover value
491 */
492 final public String getOnmouseover()
493 {
494 return ComponentUtils.resolveString(getProperty(ONMOUSEOVER_KEY));
495 }
496
497 /**
498 * Sets an onmouseover Javascript handler.
499 *
500 * @param onmouseover the new onmouseover value
501 */
502 final public void setOnmouseover(String onmouseover)
503 {
504 setProperty(ONMOUSEOVER_KEY, (onmouseover));
505 }
506
507 /**
508 * Gets an onmousemove Javascript handler.
509 *
510 * @return the new onmousemove value
511 */
512 final public String getOnmousemove()
513 {
514 return ComponentUtils.resolveString(getProperty(ONMOUSEMOVE_KEY));
515 }
516
517 /**
518 * Sets an onmousemove Javascript handler.
519 *
520 * @param onmousemove the new onmousemove value
521 */
522 final public void setOnmousemove(String onmousemove)
523 {
524 setProperty(ONMOUSEMOVE_KEY, (onmousemove));
525 }
526
527 /**
528 * Gets an onmouseout Javascript handler.
529 *
530 * @return the new onmouseout value
531 */
532 final public String getOnmouseout()
533 {
534 return ComponentUtils.resolveString(getProperty(ONMOUSEOUT_KEY));
535 }
536
537 /**
538 * Sets an onmouseout Javascript handler.
539 *
540 * @param onmouseout the new onmouseout value
541 */
542 final public void setOnmouseout(String onmouseout)
543 {
544 setProperty(ONMOUSEOUT_KEY, (onmouseout));
545 }
546
547 /**
548 * Gets an onkeypress Javascript handler.
549 *
550 * @return the new onkeypress value
551 */
552 final public String getOnkeypress()
553 {
554 return ComponentUtils.resolveString(getProperty(ONKEYPRESS_KEY));
555 }
556
557 /**
558 * Sets an onkeypress Javascript handler.
559 *
560 * @param onkeypress the new onkeypress value
561 */
562 final public void setOnkeypress(String onkeypress)
563 {
564 setProperty(ONKEYPRESS_KEY, (onkeypress));
565 }
566
567 /**
568 * Gets an onkeydown Javascript handler.
569 *
570 * @return the new onkeydown value
571 */
572 final public String getOnkeydown()
573 {
574 return ComponentUtils.resolveString(getProperty(ONKEYDOWN_KEY));
575 }
576
577 /**
578 * Sets an onkeydown Javascript handler.
579 *
580 * @param onkeydown the new onkeydown value
581 */
582 final public void setOnkeydown(String onkeydown)
583 {
584 setProperty(ONKEYDOWN_KEY, (onkeydown));
585 }
586
587 /**
588 * Gets an onkeyup Javascript handler.
589 *
590 * @return the new onkeyup value
591 */
592 final public String getOnkeyup()
593 {
594 return ComponentUtils.resolveString(getProperty(ONKEYUP_KEY));
595 }
596
597 /**
598 * Sets an onkeyup Javascript handler.
599 *
600 * @param onkeyup the new onkeyup value
601 */
602 final public void setOnkeyup(String onkeyup)
603 {
604 setProperty(ONKEYUP_KEY, (onkeyup));
605 }
606
607 /**
608 * Gets the event handler for the component losing the focus.
609 *
610 * @return the new onblur value
611 */
612 final public String getOnblur()
613 {
614 return ComponentUtils.resolveString(getProperty(ONBLUR_KEY));
615 }
616
617 /**
618 * Sets the event handler for the component losing the focus.
619 *
620 * @param onblur the new onblur value
621 */
622 final public void setOnblur(String onblur)
623 {
624 setProperty(ONBLUR_KEY, (onblur));
625 }
626
627 /**
628 * Gets the event handler for the component gaining the focus.
629 *
630 * @return the new onfocus value
631 */
632 final public String getOnfocus()
633 {
634 return ComponentUtils.resolveString(getProperty(ONFOCUS_KEY));
635 }
636
637 /**
638 * Sets the event handler for the component gaining the focus.
639 *
640 * @param onfocus the new onfocus value
641 */
642 final public void setOnfocus(String onfocus)
643 {
644 setProperty(ONFOCUS_KEY, (onfocus));
645 }
646
647 /**
648 * Gets Indicates whether processes launched by this command should be
649 * launched in a secondary dialog window. 'useWindow' requires that the "action"
650 * attribute start with "dialog:". Set useWindow to 'false' for the outcome of
651 * the action to be targeted to the existing window.
652 *
653 * @return the new useWindow value
654 */
655 final public boolean isUseWindow()
656 {
657 return ComponentUtils.resolveBoolean(getProperty(USE_WINDOW_KEY), false);
658 }
659
660 /**
661 * Sets Indicates whether processes launched by this command should be
662 * launched in a secondary dialog window. 'useWindow' requires that the "action"
663 * attribute start with "dialog:". Set useWindow to 'false' for the outcome of
664 * the action to be targeted to the existing window.
665 *
666 * @param useWindow the new useWindow value
667 */
668 final public void setUseWindow(boolean useWindow)
669 {
670 setProperty(USE_WINDOW_KEY, useWindow ? Boolean.TRUE : Boolean.FALSE);
671 }
672
673 /**
674 * Gets Height of the window, if this command is used to launch a window.
675 *
676 * @return the new windowHeight value
677 */
678 final public int getWindowHeight()
679 {
680 return ComponentUtils.resolveInteger(getProperty(WINDOW_HEIGHT_KEY));
681 }
682
683 /**
684 * Sets Height of the window, if this command is used to launch a window.
685 *
686 * @param windowHeight the new windowHeight value
687 */
688 final public void setWindowHeight(int windowHeight)
689 {
690 setProperty(WINDOW_HEIGHT_KEY, Integer.valueOf(windowHeight));
691 }
692
693 /**
694 * Gets Width of the window, if this command is used to launch a window.
695 *
696 * @return the new windowWidth value
697 */
698 final public int getWindowWidth()
699 {
700 return ComponentUtils.resolveInteger(getProperty(WINDOW_WIDTH_KEY));
701 }
702
703 /**
704 * Sets Width of the window, if this command is used to launch a window.
705 *
706 * @param windowWidth the new windowWidth value
707 */
708 final public void setWindowWidth(int windowWidth)
709 {
710 setProperty(WINDOW_WIDTH_KEY, Integer.valueOf(windowWidth));
711 }
712
713 @Override
714 public String getDefaultEventName()
715 {
716 return "click";
717 }
718
719 @Override
720 public Collection<String> getEventNames()
721 {
722 return _EVENT_NAMES;
723 }
724
725 @Override
726 public Map<String, List<ClientBehavior>> getClientBehaviors()
727 {
728 return super.getClientBehaviors();
729 }
730
731 @Override
732 public void addClientBehavior(
733 String eventName,
734 ClientBehavior behavior)
735 {
736 super.addClientBehavior(eventName, behavior);
737 }
738
739 @Override
740 public String getFamily()
741 {
742 return COMPONENT_FAMILY;
743 }
744
745 @Override
746 protected FacesBean.Type getBeanType()
747 {
748 return TYPE;
749 }
750
751 /**
752 * Construct an instance of the CoreCommandLink.
753 */
754 protected CoreCommandLink(
755 String rendererType
756 )
757 {
758 super(rendererType);
759 }
760
761 static
762 {
763 TYPE.lockAndRegister("org.apache.myfaces.trinidad.Command","org.apache.myfaces.trinidad.Link");
764 }
765 }