001    /* ======================================================
002     * Orson : a free chart beans library based on JFreeChart
003     * ======================================================
004     *
005     * (C) Copyright 2007, by Object Refinery Limited.
006     *
007     * Project Info:  not-yet-released
008     *
009     * This library is free software; you can redistribute it and/or modify it 
010     * under the terms of the GNU Lesser General Public License as published by 
011     * the Free Software Foundation; either version 2.1 of the License, or 
012     * (at your option) any later version.
013     *
014     * This library is distributed in the hope that it will be useful, but 
015     * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
016     * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
017     * License for more details.
018     *
019     * You should have received a copy of the GNU Lesser General Public
020     * License along with this library; if not, write to the Free Software
021     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
022     * USA.  
023     *
024     * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
025     * in the United States and other countries.]
026     */
027    
028    package org.jfree.beans.events;
029    
030    import java.util.EventObject;
031    
032    import org.jfree.beans.JPieChart;
033    
034    /**
035     * An event object that carries information about a mouse click on a section
036     * in a {@link JPieChart}.
037     */
038    public class SectionClickEvent extends EventObject {
039        
040        /** The section key. */
041        private Comparable key;
042        
043        /**
044         * Creates a new section click event.
045         * 
046         * @param source  the event source (typically the {@link JPieChart}).
047         * @param key  the section key.
048         */
049        public SectionClickEvent(Object source, Comparable key) {
050            super(source);
051            this.key = key;
052        }
053        
054        /**
055         * Returns the section key.
056         * 
057         * @return The section key.
058         */
059        public Comparable getSectionKey() {
060            return this.key;
061        }
062        
063        /**
064         * Returns a string that represents the state of this instance (suitable
065         * for debugging purposes).
066         * 
067         * @return A string.
068         */
069        public String toString() {
070            return "SectionClickEvent: key=" + this.key;
071        }
072    
073    }