blob: 996fe0d1319e7baa43c78538e82de6ada0a6352e [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 Boeing.
* 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:
* Boeing - initial API and implementation
*******************************************************************************/
package org.eclipse.ote.ui.message.watch;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/**
* @author Ken J. Aguilar
*/
public class AddWatchParameter {
private final HashMap<String, MessageParameter> watchMap = new HashMap<String, MessageParameter>(64);
public AddWatchParameter() {
super();
}
public AddWatchParameter(String message) {
addMessage(message);
}
public AddWatchParameter(String message, ElementPath element) {
addMessage(message, element);
}
public AddWatchParameter(Map<String, MessageParameter> map) {
watchMap.putAll(map);
}
public void addMessage(String name, Collection<ElementPath> elements) {
MessageParameter parameter = watchMap.get(name);
if (parameter == null) {
parameter = new MessageParameter(name);
watchMap.put(name, parameter);
}
parameter.addAll(elements);
}
public void addMessageWithAllElements(String name) {
watchMap.put(name, null);
}
public void addMessage(String name, ElementPath... elements) {
MessageParameter parameter = watchMap.get(name);
if (parameter == null) {
parameter = new MessageParameter(name);
watchMap.put(name, parameter);
}
for (ElementPath element : elements) {
parameter.add(element);
}
}
public void addMessage(String name) {
MessageParameter parameter = watchMap.get(name);
if (parameter == null) {
parameter = new MessageParameter(name);
watchMap.put(name, parameter);
}
}
public void addMessage(String name, ElementPath element) {
MessageParameter parameter = watchMap.get(name);
if (parameter == null) {
parameter = new MessageParameter(name);
watchMap.put(name, parameter);
}
parameter.add(element);
}
public Collection<String> getMessages() {
return watchMap.keySet();
}
public Collection<ElementPath> getMessageElements(String messageNmae) {
return watchMap.get(messageNmae).getElements();
}
public boolean containsMessage(String name) {
return watchMap.containsKey(name);
}
public void setIsWriter(String messageName, boolean isWriter) {
MessageParameter parameter = watchMap.get(messageName);
if (parameter == null) {
parameter = new MessageParameter(messageName);
watchMap.put(messageName, parameter);
}
parameter.setIsWriter(isWriter);
}
public void setDataType(String messageName, String type) {
MessageParameter parameter = watchMap.get(messageName);
if (parameter == null) {
parameter = new MessageParameter(messageName);
watchMap.put(messageName, parameter);
}
parameter.setDataType(type);
}
public void setValue(ElementPath path, String value) {
String messageName = path.getMessageName();
MessageParameter parameter = watchMap.get(messageName);
if (parameter == null) {
parameter = new MessageParameter(messageName);
watchMap.put(messageName, parameter);
}
parameter.setValue(path, value);
}
public Collection<MessageParameter> getMessageParameters() {
return watchMap.values();
}
}