Package taglib

Source Code of taglib.DefinitionTag

/*
*
* Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
*
* This software is the proprietary information of Sun Microsystems, Inc. 
* Use is subject to license terms.
*
*/

package taglib;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;
import java.util.*;

public class DefinitionTag extends TagSupport {
   private         String screenName = null;
   private         String definitionName = null;
   private         String screenId;

   public DefinitionTag() {
      super();
   }
   public void setName(String name) {
      this.definitionName = name;
   }
   public void setScreen(String screenId) {
      this.screenId = screenId;
   }
   public int doStartTag() {
      HashMap screens = null;

      screens = (HashMap) pageContext.getAttribute("screens");
      if (screens == null)
        pageContext.setAttribute("screens", new HashMap(), pageContext.APPLICATION_SCOPE);
      return EVAL_BODY_INCLUDE;
   }
   public int doEndTag()throws JspTagException {
      try {
         Definition definition = new Definition();
         HashMap screens = null;
         ArrayList params = null;
         TagSupport screen = null;

         screens = (HashMap) pageContext.getAttribute("screens", pageContext.APPLICATION_SCOPE);
         if (screens != null) {
            params = (ArrayList) screens.get(screenId);
         }
         else
            Debug.println("DefinitionTag: screens null.");

         if (params == null)
            Debug.println("DefinitionTag: params are not defined.");

         Iterator  ir = null;

         if (params != null)
            ir = params.iterator();

         while ((ir != null) && ir.hasNext())
            definition.setParam((Parameter) ir.next());

         // put the definition in the page context
         pageContext.setAttribute(definitionName, definition);
      } catch (Exception ex) {
         ex.printStackTrace();
      }
      return EVAL_PAGE;
   }
   public void release() {
      screenName = null;
      definitionName = null;
      screenId = null;
      super.release();
   }
}
TOP

Related Classes of taglib.DefinitionTag

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.