001    package org.gwtbootstrap3.extras.slider.client.ui.base.event;
002    
003    /*
004     * #%L
005     * GwtBootstrap3
006     * %%
007     * Copyright (C) 2013 - 2015 GwtBootstrap3
008     * %%
009     * Licensed under the Apache License, Version 2.0 (the "License");
010     * you may not use this file except in compliance with the License.
011     * You may obtain a copy of the License at
012     * 
013     *      http://www.apache.org/licenses/LICENSE-2.0
014     * 
015     * Unless required by applicable law or agreed to in writing, software
016     * distributed under the License is distributed on an "AS IS" BASIS,
017     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018     * See the License for the specific language governing permissions and
019     * limitations under the License.
020     * #L%
021     */
022    
023    import com.google.gwt.event.shared.GwtEvent;
024    
025    /**
026     * The slide disabled event is fired when the slider is disabled.
027     */
028    public class SlideDisabledEvent extends GwtEvent<SlideDisabledHandler> {
029    
030        private static Type<SlideDisabledHandler> TYPE;
031    
032        /**
033         * Fires a slide disabled event on all registered handlers in the handler
034         * manager. If no such handlers exist, this method will do nothing.
035         *
036         * @param source the source of the handlers
037         */
038        public static void fire(final HasSlideDisabledHandlers source) {
039            if (TYPE != null) {
040                SlideDisabledEvent event = new SlideDisabledEvent();
041                source.fireEvent(event);
042            }
043        }
044    
045        /**
046         * Gets the type associated with this event.
047         *
048         * @return returns the handler type
049         */
050        public static Type<SlideDisabledHandler> getType() {
051            if (TYPE == null) {
052                TYPE = new Type<SlideDisabledHandler>();
053            }
054            return TYPE;
055        }
056    
057        @Override
058        public Type<SlideDisabledHandler> getAssociatedType() {
059            return TYPE;
060        }
061    
062        @Override
063        protected void dispatch(final SlideDisabledHandler handler) {
064            handler.onSlideDisabled(this);
065        }
066    
067        /**
068         * Creates a slide disabled event.
069         */
070        protected SlideDisabledEvent() {}
071    
072    }