/******************************************************************************* * 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 java.util.ArrayList; import java.util.List; import com.windowtester.recorder.event.user.SemanticKeyDownEvent; import com.windowtester.recorder.event.user.SemanticTextEntryEvent; import com.windowtester.ui.core.model.IEventSequence; import com.windowtester.ui.internal.corel.model.Event; public class ParsedTextEvent extends AbstractParsedTextEvent { List keys = new ArrayList(); public ParsedTextEvent(SemanticTextEntryEvent text) { SemanticKeyDownEvent[] keys2 = text.getKeys(); for (int i = 0; i < keys2.length; i++) { add(new ParsedKeyEvent(keys2[i], null)); } } public ParsedTextEvent() { } public void add(ParsedKeyEvent parsedKeyEvent) { keys.add(parsedKeyEvent); } public ParsedKeyEvent[] parsedKeys() { return (ParsedKeyEvent[]) keys.toArray(new ParsedKeyEvent[]{}); } public SemanticKeyDownEvent[] keys() { ParsedKeyEvent[] parsedKeys = parsedKeys(); SemanticKeyDownEvent[] keys = new SemanticKeyDownEvent[parsedKeys.length]; for (int i = 0; i < keys.length; i++) { keys[i] = parsedKeys[i].key(); } return keys; } /* (non-Javadoc) * @see com.windowtester.recorder.ui.ParsedEvent#consume(com.windowtester.recorder.ui.ParsedEvent) */ public ParsedEvent consume(ParsedEvent event) { add((ParsedKeyEvent)event); return this; } /* (non-Javadoc) * @see com.windowtester.recorder.ui.events.ParsedEvent#addTo(com.windowtester.ui.core.model.IEventSequence) */ public void addTo(IEventSequence sequence) { sequence.add(new Event(new SemanticTextEntryEvent(keys()))); } /* (non-Javadoc) * @see java.lang.Object#toString() */ public String toString() { return keys.toString(); } }