/*******************************************************************************
* Copyright (c) 2012 Google, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Google, Inc. - initial API and implementation
*******************************************************************************/
package com.windowtester.recorder.ui.events;
import com.windowtester.recorder.event.user.SemanticKeyDownEvent;
import com.windowtester.ui.core.model.IEventSequence;
import com.windowtester.ui.core.model.ISemanticEvent;
public class ParsedKeyEvent extends AbstractParsedTextEvent {
private final SemanticKeyDownEvent key;
private final ISemanticEvent event;
public ParsedKeyEvent(SemanticKeyDownEvent key, ISemanticEvent event) {
this.key = key;
this.event = event;
}
/* (non-Javadoc)
* @see com.windowtester.recorder.ui.AbstractParsedTextEvent#consumes(com.windowtester.recorder.ui.ParsedEvent)
*/
public boolean consumes(ParsedEvent event) {
if (isTextEventTerminator(key))
return false;
return super.consumes(event);
}
/* (non-Javadoc)
* @see com.windowtester.recorder.ui.ParsedEvent#consume(com.windowtester.recorder.ui.ParsedEvent)
*/
public ParsedEvent consume(ParsedEvent event) {
ParsedTextEvent text = new ParsedTextEvent();
text.add(this);
text.add((ParsedKeyEvent)event);
return text;
}
public SemanticKeyDownEvent key() {
return key;
}
/* (non-Javadoc)
* @see com.windowtester.recorder.ui.events.ParsedEvent#addTo(com.windowtester.ui.core.model.IEventSequence)
*/
public void addTo(IEventSequence sequence) {
sequence.add(event);
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
public String toString() {
return key.toString();
}
}