001    package org.apache.myfaces.tobago.model;
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    import org.apache.myfaces.tobago.component.SupportsMarkup;
021    import org.apache.myfaces.tobago.component.UISelectItem;
022    
023    /*
024     * Date: Apr 5, 2005
025     * Time: 6:11:16 PM
026     */
027    public class SelectItem extends javax.faces.model.SelectItem implements SupportsMarkup {
028    
029      private static final long serialVersionUID = 2582455665060354639L;
030    
031      private String image;
032      private String[] markup = new String[0];
033    
034      public SelectItem() {
035        super();
036      }
037    
038      public SelectItem(UISelectItem component) {
039        this(component.getItemValue() == null ? "" : component.getItemValue(),
040            component.getItemLabel(), component.getItemDescription(),
041            component.isItemDisabled(), component.getItemImage(), component.getMarkup());
042      }
043    
044      public SelectItem(Object value) {
045        super(value);
046      }
047    
048      public SelectItem(Object value, String label) {
049        super(value, label);
050      }
051    
052      public SelectItem(Object value, String label, String description) {
053        super(value, label, description);
054      }
055    
056      public SelectItem(Object value, String label, String description, String image) {
057        this(value, label, description, false, image);
058      }
059    
060      public SelectItem(Object value, String label, String description, String image, String[] markup) {
061        this(value, label, description, false, image, markup);
062      }
063    
064      public SelectItem(Object value, String label, String description,
065          boolean disabled, String image) {
066        this(value, label, description, disabled, image, null);
067      }
068    
069      public SelectItem(Object value, String label, String description,
070          boolean disabled, String image, String[] markup) {
071        super(value, label, description, disabled);
072        this.image = image;
073        this.markup = markup;
074      }
075    
076      public String getImage() {
077        return image;
078      }
079    
080      public void setImage(String image) {
081        this.image = image;
082      }
083    
084      public String[] getMarkup() {
085        return markup;
086      }
087    
088      public void setMarkup(String[] markup) {
089        this.markup = markup;
090      }
091    }