001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019
020 package org.apache.myfaces.tobago.taglib.component;
021
022 import org.apache.commons.logging.Log;
023 import org.apache.commons.logging.LogFactory;
024 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_SCROLLBARS;
025 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_SPAN_X;
026 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_SPAN_Y;
027 import static org.apache.myfaces.tobago.TobagoConstants.RENDERER_TYPE_PANEL;
028 import org.apache.myfaces.tobago.component.ComponentUtil;
029 import org.apache.myfaces.tobago.component.UICell;
030
031 import javax.faces.component.UIComponent;
032 import javax.servlet.jsp.tagext.BodyTag;
033
034 /*
035 * Created 29.07.2003 at 15:09:53.
036 * $Id: CellTag.java 1368577 2012-08-02 16:20:31Z lofwyr $
037 */
038
039 // Some Weblogic versions need explicit 'implements' for BodyTag
040 public class CellTag extends TobagoBodyTag implements BodyTag, CellTagDeclaration {
041
042 private static final Log LOG = LogFactory.getLog(CellTag.class);
043
044 private String spanX = "1";
045
046 private String spanY = "1";
047
048 private String scrollbars;
049
050
051 public String getComponentType() {
052 return UICell.COMPONENT_TYPE;
053 }
054
055 public String getRendererType() {
056 return RENDERER_TYPE_PANEL;
057 }
058
059 protected void setProperties(UIComponent component) {
060 super.setProperties(component);
061
062 ComponentUtil.setIntegerProperty(component, ATTR_SPAN_X, spanX);
063 ComponentUtil.setIntegerProperty(component, ATTR_SPAN_Y, spanY);
064 ComponentUtil.setStringProperty(component, ATTR_SCROLLBARS, scrollbars);
065
066 if (LOG.isDebugEnabled()) {
067 LOG.debug("spanX=" + spanX + " spanY=" + spanY);
068 LOG.debug("spanX=" + component.getAttributes().get(ATTR_SPAN_X)
069 + " spanY=" + component.getAttributes().get(ATTR_SPAN_Y));
070 LOG.debug("component = " + getComponentInstance());
071 }
072 }
073
074 public void release() {
075 super.release();
076 spanX = "1";
077 spanY = "1";
078 scrollbars = null;
079 }
080
081 public String getSpanX() {
082 return spanX;
083 }
084
085 public void setSpanX(String spanX) {
086 this.spanX = spanX;
087 }
088
089 public String getSpanY() {
090 return spanY;
091 }
092
093 public void setSpanY(String spanY) {
094 this.spanY = spanY;
095 }
096
097 public String getScrollbars() {
098 return scrollbars;
099 }
100
101 public void setScrollbars(String scrollbars) {
102 this.scrollbars = scrollbars;
103 }
104 }