Java tutorial
/* * Copyright 2014 Carsten Rambow. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.elomagic.vaadin.addon.speechrecognition; import org.json.JSONObject; import com.vaadin.ui.Component; /** * Common recognition event class. */ public class SpeechRecognitionEvent extends Component.Event { private final Type eventType; private final SpeechRecognitionEventData data; private final JSONObject object; /** * Types of events. */ public enum Type { AudioStart, SoundStart, SpeechStart, SpeechEnd, SoundEnd, AudioEnd, Result, NoMatch, Error, Start, End } public SpeechRecognitionEvent(final Component source, final Type type, final SpeechRecognitionEventData data, final JSONObject object) { super(source); this.eventType = type; this.data = data; this.object = object; } /** * Returns type of event. * * @return */ public Type getType() { return eventType; } /** * Returns the original event object from client site as a JSON object. * * @return */ public JSONObject getJsonObject() { return object; } /** * Returns event data object. * * @return */ public SpeechRecognitionEventData getData() { return data; } @Override public String toString() { String s = "SpeechSynthesisEvent(\n"; s += " Source=" + (getSource() == null ? "[null]" : getSource().toString()) + ";\n"; s += " Event=" + object.toString() + ";\n"; s += ")"; return s; } }