/*
* Copyright 2011 Greg Milette and Adam Stroud
*
* 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 root.gast.speech.voiceaction;
import root.gast.speech.text.WordList;
import root.gast.speech.text.match.WordMatcher;
/**
* matches using the provided {@link WordMatcher}
* @author Greg Milette <<a href="mailto:gregorym@gmail.com">gregorym@gmail.com</a>>
*/
public class MatcherCommand implements VoiceActionCommand
{
private static final String TAG = "MatcherCommand";
private WordMatcher matcher;
private OnUnderstoodListener onUnderstood;
public MatcherCommand(WordMatcher matcher,
OnUnderstoodListener onUnderstood)
{
this.matcher = matcher;
this.onUnderstood = onUnderstood;
}
@Override
public boolean interpret(WordList heard, float[] confidence)
{
boolean understood = false;
if (matcher.isIn(heard.getWords()))
{
understood = true;
if (onUnderstood != null)
{
onUnderstood.understood();
}
}
return understood;
}
public OnUnderstoodListener getOnUnderstood()
{
return onUnderstood;
}
}