Class EncodingComboBoxModel

  • All Implemented Interfaces:
    javax.swing.ComboBoxModel, javax.swing.ListModel

    public class EncodingComboBoxModel
    extends java.lang.Object
    implements javax.swing.ComboBoxModel
    A model for the 'encoding' combo box. This combobox model presents a selection for all available string encodings.
    Author:
    Thomas Morgner.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String AVAILABLE_ENCODINGS
      The property that defines which encodings are available in the export dialogs.
      static java.lang.String AVAILABLE_ENCODINGS_ALL
      The encodings available properties value for all properties.
      static java.lang.String AVAILABLE_ENCODINGS_FILE
      The encodings available properties value for properties defined in the properties file.
      static java.lang.String AVAILABLE_ENCODINGS_NONE
      The encodings available properties value for no properties defined.
      static java.lang.String BUNDLE_NAME  
      static java.lang.String ENCODINGS_DEFINITION_FILE
      The name of the properties file used to define the available encodings.
      static java.lang.String ENCODINGS_DEFINITION_FILE_DEFAULT
      The default name for the encoding properties file.
    • Constructor Summary

      Constructors 
      Constructor Description
      EncodingComboBoxModel​(java.util.Locale locale)
      Creates a new model.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean addEncoding​(java.lang.String name, java.lang.String description)
      Adds an encoding.
      void addEncodingUnchecked​(java.lang.String name, java.lang.String description)
      Adds an encoding to the model without checking its validity.
      void addListDataListener​(javax.swing.event.ListDataListener l)
      Adds a listener to the list that's notified each time a change to the data model occurs.
      static EncodingComboBoxModel createDefaultModel​(java.util.Locale locale)
      Creates a default model containing a selection of encodings.
      void ensureEncodingAvailable​(java.lang.String encoding)
      Make sure, that this encoding is defined and selectable in the combobox model.
      protected void fireContentsChanged()
      Notifies all registered listeners that the content of the model has changed.
      protected void fireContentsChanged​(int start, int length)
      Notifies all registered listeners that the content of the model has changed.
      static java.lang.String getAvailableEncodings()
      Defines the loader settings for the available encodings shown to the user.
      java.lang.String getDescription​(int index)
      Returns a description.
      java.lang.Object getElementAt​(int index)
      Returns the value at the specified index.
      java.lang.String getEncoding​(int index)
      Returns an encoding.
      protected java.lang.String getEncodingDescription​(java.lang.String encoding)  
      static java.lang.String getEncodingsDefinitionFile()
      Defines the loader settings for the available encodings shown to the user.
      java.lang.String getSelectedEncoding()
      Returns the selected encoding.
      int getSelectedIndex()
      Returns the selected index.
      java.lang.Object getSelectedItem()
      Returns the selected item.
      int getSize()
      Returns the length of the list.
      int indexOf​(java.lang.String encoding)
      Returns the index of an encoding.
      void removeEncoding​(java.lang.String name)  
      void removeListDataListener​(javax.swing.event.ListDataListener l)
      Removes a listener from the list that's notified each time a change to the data model occurs.
      void setSelectedEncoding​(java.lang.String encoding)  
      void setSelectedIndex​(int index)
      Defines the selected index for this encoding model.
      void setSelectedItem​(java.lang.Object anItem)
      Set the selected item.
      void sort()
      Sorts the encodings.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • AVAILABLE_ENCODINGS

        public static final java.lang.String AVAILABLE_ENCODINGS
        The property that defines which encodings are available in the export dialogs.
        See Also:
        Constant Field Values
      • AVAILABLE_ENCODINGS_ALL

        public static final java.lang.String AVAILABLE_ENCODINGS_ALL
        The encodings available properties value for all properties.
        See Also:
        Constant Field Values
      • AVAILABLE_ENCODINGS_FILE

        public static final java.lang.String AVAILABLE_ENCODINGS_FILE
        The encodings available properties value for properties defined in the properties file.
        See Also:
        Constant Field Values
      • AVAILABLE_ENCODINGS_NONE

        public static final java.lang.String AVAILABLE_ENCODINGS_NONE
        The encodings available properties value for no properties defined. The encoding selection will be disabled.
        See Also:
        Constant Field Values
      • ENCODINGS_DEFINITION_FILE

        public static final java.lang.String ENCODINGS_DEFINITION_FILE
        The name of the properties file used to define the available encodings. The property points to a resources in the classpath, not to a real file!
        See Also:
        Constant Field Values
      • ENCODINGS_DEFINITION_FILE_DEFAULT

        public static final java.lang.String ENCODINGS_DEFINITION_FILE_DEFAULT
        The default name for the encoding properties file. This property defaults to "/org/jfree/report/jfreereport-encodings.properties".
        See Also:
        Constant Field Values
    • Constructor Detail

      • EncodingComboBoxModel

        public EncodingComboBoxModel​(java.util.Locale locale)
        Creates a new model.
        Parameters:
        locale -
    • Method Detail

      • addEncoding

        public boolean addEncoding​(java.lang.String name,
                                   java.lang.String description)
        Adds an encoding.
        Parameters:
        name - the name.
        description - the description.
        Returns:
        true if the encoding is valid and added to the model, false otherwise.
      • addEncodingUnchecked

        public void addEncodingUnchecked​(java.lang.String name,
                                         java.lang.String description)
        Adds an encoding to the model without checking its validity.
        Parameters:
        name - the name.
        description - the description.
      • removeEncoding

        public void removeEncoding​(java.lang.String name)
      • ensureEncodingAvailable

        public void ensureEncodingAvailable​(java.lang.String encoding)
        Make sure, that this encoding is defined and selectable in the combobox model.
        Parameters:
        encoding - the encoding that should be verified.
      • getEncodingDescription

        protected java.lang.String getEncodingDescription​(java.lang.String encoding)
      • sort

        public void sort()
        Sorts the encodings. Keep the selected object ...
      • fireContentsChanged

        protected void fireContentsChanged()
        Notifies all registered listeners that the content of the model has changed.
      • fireContentsChanged

        protected void fireContentsChanged​(int start,
                                           int length)
        Notifies all registered listeners that the content of the model has changed.
      • setSelectedItem

        public void setSelectedItem​(java.lang.Object anItem)
        Set the selected item. The implementation of this method should notify all registered ListDataListeners that the contents have changed.
        Specified by:
        setSelectedItem in interface javax.swing.ComboBoxModel
        Parameters:
        anItem - the list object to select or null to clear the selection
      • getSelectedIndex

        public int getSelectedIndex()
        Returns the selected index.
        Returns:
        The index.
      • setSelectedIndex

        public void setSelectedIndex​(int index)
        Defines the selected index for this encoding model.
        Parameters:
        index - the selected index or -1 to clear the selection.
        Throws:
        java.lang.IllegalArgumentException - if the given index is invalid.
      • getSelectedEncoding

        public java.lang.String getSelectedEncoding()
        Returns the selected encoding.
        Returns:
        The encoding (name).
      • getSelectedItem

        public java.lang.Object getSelectedItem()
        Returns the selected item.
        Specified by:
        getSelectedItem in interface javax.swing.ComboBoxModel
        Returns:
        The selected item or null if there is no selection
      • getSize

        public int getSize()
        Returns the length of the list.
        Specified by:
        getSize in interface javax.swing.ListModel
        Returns:
        the length of the list
      • getElementAt

        public java.lang.Object getElementAt​(int index)
        Returns the value at the specified index.
        Specified by:
        getElementAt in interface javax.swing.ListModel
        Parameters:
        index - the requested index
        Returns:
        the value at index
      • addListDataListener

        public void addListDataListener​(javax.swing.event.ListDataListener l)
        Adds a listener to the list that's notified each time a change to the data model occurs.
        Specified by:
        addListDataListener in interface javax.swing.ListModel
        Parameters:
        l - the ListDataListener to be added
      • removeListDataListener

        public void removeListDataListener​(javax.swing.event.ListDataListener l)
        Removes a listener from the list that's notified each time a change to the data model occurs.
        Specified by:
        removeListDataListener in interface javax.swing.ListModel
        Parameters:
        l - the ListDataListener to be removed
      • createDefaultModel

        public static EncodingComboBoxModel createDefaultModel​(java.util.Locale locale)
        Creates a default model containing a selection of encodings.
        Returns:
        The default model.
      • indexOf

        public int indexOf​(java.lang.String encoding)
        Returns the index of an encoding.
        Parameters:
        encoding - the encoding (name).
        Returns:
        The index.
      • getEncoding

        public java.lang.String getEncoding​(int index)
        Returns an encoding.
        Parameters:
        index - the index.
        Returns:
        The index.
      • getDescription

        public java.lang.String getDescription​(int index)
        Returns a description.
        Parameters:
        index - the index.
        Returns:
        The description.
      • getEncodingsDefinitionFile

        public static java.lang.String getEncodingsDefinitionFile()
        Defines the loader settings for the available encodings shown to the user. The property defaults to AVAILABLE_ENCODINGS_ALL.
        Returns:
        either AVAILABLE_ENCODINGS_ALL, AVAILABLE_ENCODINGS_FILE or AVAILABLE_ENCODINGS_NONE.
      • getAvailableEncodings

        public static java.lang.String getAvailableEncodings()
        Defines the loader settings for the available encodings shown to the user. The property defaults to AVAILABLE_ENCODINGS_ALL.
        Returns:
        either AVAILABLE_ENCODINGS_ALL, AVAILABLE_ENCODINGS_FILE or AVAILABLE_ENCODINGS_NONE.
      • setSelectedEncoding

        public void setSelectedEncoding​(java.lang.String encoding)