KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > bridge > jsp > taglib > FieldReferrerTag


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.bridge.jsp.taglib;
11
12 import org.mmbase.bridge.jsp.taglib.util.Attribute;
13
14 import javax.servlet.jsp.JspTagException JavaDoc;
15
16 import org.mmbase.bridge.Field;
17
18 /**
19  * A fieldreferrer tag is a tag which needs (or can use) a 'field' to
20  * operate on. The most evident example is the FieldInfo tag.
21  *
22  * Field itself is a FieldReferrer too (it can reuse another one)
23  *
24  * @author Michiel Meeuwissen
25  * @see FieldInfoTag
26  * @version $Id: FieldReferrerTag.java,v 1.9 2005/07/20 14:57:55 michiel Exp $
27  */

28
29 public abstract class FieldReferrerTag extends NodeReferrerTag {
30
31     private Attribute parentFieldId = Attribute.NULL;
32
33     public void setField(String JavaDoc field) throws JspTagException JavaDoc {
34         parentFieldId = getAttribute(field);
35     }
36
37     /**
38     * This method tries to find an ancestor object of type NodeProvider
39     * @return the FieldProvider if found else an exception.
40     *
41     */

42     public FieldProvider findFieldProvider() throws JspTagException JavaDoc {
43         FieldProvider fp = (FieldProvider) findParentTag(FieldProvider.class, (String JavaDoc) parentFieldId.getValue(this));
44         if (fp instanceof Writer) {
45             ((Writer) fp).haveBody();
46         }
47         return fp;
48     }
49
50
51     protected Field getField() throws JspTagException JavaDoc {
52         return findFieldProvider().getFieldVar();
53     }
54
55    
56 }
57
Popular Tags