       1 /*
       2  * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
       3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       4  *
       5  * This code is free software; you can redistribute it and/or modify it
       6  * under the terms of the GNU General Public License version 2 only, as
       7  * published by the Free Software Foundation.  Oracle designates this
       8  * particular file as subject to the "Classpath" exception as provided
       9  * by Oracle in the LICENSE file that accompanied this code.
      10  *
      11  * This code is distributed in the hope that it will be useful, but WITHOUT
      12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      14  * version 2 for more details (a copy is included in the LICENSE file that
      15  * accompanied this code).
      16  *
      17  * You should have received a copy of the GNU General Public License version
      18  * 2 along with this work; if not, write to the Free Software Foundation,
      19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
      20  *
      21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
      22  * or visit www.oracle.com if you need additional information or have any
      23  * questions.
      24  */
      25 package javax.swing.text.html;
      26
      27 import javax.swing.*;
      28 import java.io.Serializable;
      29
      30
      31 /**
      32  * OptionComboBoxModel extends the capabilities of the DefaultComboBoxModel,
      33  * to store the Option that is initially marked as selected.
      34  * This is stored, in order to enable an accurate reset of the
      35  * ComboBox that represents the SELECT form element when the
      36  * user requests a clear/reset.  Given that a combobox only allow
      37  * for one item to be selected, the last OPTION that has the
      38  * attribute set wins.
      39  *
      40   @author Sunita Mani
      41  */
      42 @SuppressWarnings("serial") // Superclass is not serializable across versions
      43 class OptionComboBoxModel<E> extends DefaultComboBoxModel<E> implements Serializable {
      44
      45     private Option selectedOption = null;
      46
      47     /**
      48      * Stores the Option that has been marked its
      49      * selected attribute set.
      50      */
      51     public void setInitialSelection(Option option) {
      52         selectedOption = option;
      53     }
      54
      55     /**
      56      * Fetches the Option item that represents that was
      57      * initially set to a selected state.
      58      */
      59     public Option getInitialSelection() {
      60         return selectedOption;
      61     }
      62 }