View Javadoc
1   /*
2    * Copyright 2008 The Kuali Foundation
3    * 
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    * http://www.opensource.org/licenses/ecl2.php
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.ole.sys.document.web.renderers;
17  
18  import javax.servlet.jsp.JspException;
19  import javax.servlet.jsp.PageContext;
20  import javax.servlet.jsp.tagext.Tag;
21  
22  import org.kuali.rice.kns.web.ui.Field;
23  
24  /**
25   * More detailed contract for renderers which render fields
26   */
27  public interface FieldRenderer extends Renderer {
28      
29      /**
30       * On the renderer, sets the field to render
31       * @param field the field to render
32       */
33      public abstract void setField(Field field);
34      
35      /**
36       * On the renderer, sets the name of the dynamic name label
37       * @param label the label to set
38       */
39      public abstract void setDynamicNameLabel(String label);
40      
41      /**
42       * Sets that this renderer should display as in error
43       * @param error true if renderer should display as in error, false otherwise
44       */
45      public abstract void setShowError(boolean error);
46      
47      /**
48       * Tells the renderer to render a quickfinder or not
49       * @return true if a quick finder should be rendered, false otherwise
50       */
51      public abstract boolean renderQuickfinder();
52      
53      /**
54       * Sets the tab index the field being rendered should use - if it never ever wants to get tabbed to
55       * @param tabIndex a tab index no human will have the patience to reach
56       */
57      public abstract void setArbitrarilyHighTabIndex(int tabIndex);
58      
59      /**
60       * Renders the opening of a no-wrap span
61       * @param pageContext the page contex to render to
62       * @param parentTag the tag requesting all of this rendering
63       * @throws JspException thrown if something goes wrong in rendering
64       */
65      public abstract void openNoWrapSpan(PageContext pageContext, Tag parentTag) throws JspException;
66      
67      /**
68       * Renders the closing of a no wrap span
69       * @param pageContext the page contex to render to
70       * @param parentTag the tag requesting all of this rendering
71       * @throws JspException thrown if something goes wrong in rendering
72       */
73      public abstract void closeNoWrapSpan(PageContext pageContext, Tag parentTag) throws JspException;
74      
75      /**
76       * Overrides the onBlur setting for this renderer
77       * @param onBlur the onBlur value to set and return from buildOnBlur
78       */
79      public abstract void overrideOnBlur(String onBlur);
80      
81      /**
82       * Sets the accessible title of the current field 
83       * @param accessibleTitle the given the accessible title 
84       */
85      public abstract void setAccessibleTitle(String accessibleTitle);
86  }