001 // ---------- Attention: Generated code, please do not modify! -----------
002
003 /*
004 * Licensed to the Apache Software Foundation (ASF) under one or more
005 * contributor license agreements. See the NOTICE file distributed with
006 * this work for additional information regarding copyright ownership.
007 * The ASF licenses this file to You under the Apache License, Version 2.0
008 * (the "License"); you may not use this file except in compliance with
009 * the License. You may obtain a copy of the License at
010 *
011 * http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing, software
014 * distributed under the License is distributed on an "AS IS" BASIS,
015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016 * See the License for the specific language governing permissions and
017 * limitations under the License.
018 */
019
020 package org.apache.myfaces.tobago.component;
021
022 import javax.faces.context.FacesContext;
023 import org.apache.myfaces.tobago.context.Markup;
024 import org.apache.myfaces.tobago.internal.component.AbstractUISelectItem;
025 import org.apache.commons.lang.ArrayUtils;
026 import org.apache.commons.lang.StringUtils;
027 import org.apache.myfaces.tobago.component.MethodBindingToMethodExpression;
028 import org.apache.myfaces.tobago.component.MethodExpressionToMethodBinding;
029 import org.apache.myfaces.tobago.internal.util.Deprecation;
030 import org.apache.myfaces.tobago.renderkit.MarginValues;
031 import org.apache.myfaces.tobago.renderkit.SpacingValues;
032 import org.apache.myfaces.tobago.renderkit.LayoutComponentRenderer;
033 import javax.el.ELException;
034 import javax.faces.FacesException;
035 import java.util.ArrayList;
036 import java.util.List;
037 import javax.el.MethodExpression;
038 import javax.el.ValueExpression;
039
040 /**
041 Add a child UISelectItem component to the UIComponent
042 associated with the closed parent UIComponent custom
043 action.
044 * UIComponent class, generated from template {@code component1.2.stg} with class
045 * {@link org.apache.myfaces.tobago.internal.taglib.component.SelectItemTagDeclaration}.
046 */
047 public class UISelectItem
048 extends AbstractUISelectItem implements SupportsMarkup {
049
050 public static final String COMPONENT_TYPE = "org.apache.myfaces.tobago.SelectItem";
051
052 private org.apache.myfaces.tobago.context.Markup markup;
053 private org.apache.myfaces.tobago.context.Markup currentMarkup;
054 private java.lang.String itemImage;
055 private java.lang.Boolean itemDisabled;
056
057
058 public org.apache.myfaces.tobago.context.Markup getMarkup() {
059 if (markup != null) {
060 return markup;
061 }
062 ValueExpression ve = getValueExpression("markup");
063 if (ve != null) {
064 try {
065 Object object = ve.getValue(getFacesContext().getELContext());
066 return Markup.valueOf(object);
067 } catch (ELException e) {
068 throw new FacesException(e);
069 }
070 }
071 return null;
072 }
073
074 public void setMarkup(org.apache.myfaces.tobago.context.Markup markup) {
075 this.markup = markup;
076 }
077
078 public org.apache.myfaces.tobago.context.Markup getCurrentMarkup() {
079 if (currentMarkup != null) {
080 return currentMarkup;
081 }
082 return null;
083 }
084
085 public void setCurrentMarkup(org.apache.myfaces.tobago.context.Markup currentMarkup) {
086 this.currentMarkup = currentMarkup;
087 }
088
089 /**
090 Image to be displayed to the user for this option.
091
092 */
093 public java.lang.String getItemImage() {
094 if (itemImage != null) {
095 return itemImage;
096 }
097 ValueExpression ve = getValueExpression("itemImage");
098 if (ve != null) {
099 try {
100 return (java.lang.String) ve.getValue(getFacesContext().getELContext());
101 } catch (ELException e) {
102 throw new FacesException(e);
103 }
104 }
105 return null;
106 }
107
108 public void setItemImage(java.lang.String itemImage) {
109 this.itemImage = itemImage;
110 }
111
112 /**
113 Flag indicating whether the option created
114 by this component is disabled.
115 <br />Default: <code>false</code>
116 */
117 public boolean isItemDisabled() {
118 if (itemDisabled != null) {
119 return itemDisabled;
120 }
121 ValueExpression ve = getValueExpression("itemDisabled");
122 if (ve != null) {
123 try {
124 Boolean bool = (Boolean) ve.getValue(getFacesContext().getELContext());
125 if (bool != null) {
126 return bool;
127 }
128 } catch (ELException e) {
129 throw new FacesException(e);
130 }
131 }
132 return false;
133 }
134
135 public void setItemDisabled(boolean itemDisabled) {
136 this.itemDisabled = itemDisabled;
137 }
138
139 public void restoreState(FacesContext context, Object componentState) {
140 Object[] values = (Object[]) componentState;
141 super.restoreState(context, values[0]);
142 markup = (org.apache.myfaces.tobago.context.Markup) values[1];
143 itemImage = (java.lang.String) values[2];
144 itemDisabled = (java.lang.Boolean) values[3];
145 }
146
147 public Object saveState(FacesContext context) {
148 Object[] values = new Object[4];
149 values[0] = super.saveState(context);
150 values[1] = markup;
151 values[2] = itemImage;
152 values[3] = itemDisabled;
153 currentMarkup = null;
154 return values;
155 }
156
157
158 }