/*******************************************************************************
* Copyright (c) 2016 Weasis Team and others.
* 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:
* Nicolas Roduit - initial API and implementation
*******************************************************************************/
package org.weasis.core.api.image;
import java.util.HashMap;
import java.util.Map;
import org.weasis.core.api.gui.util.JMVUtils;
public abstract class AbstractOp implements ImageOpNode {
protected HashMap<String, Object> params;
public AbstractOp() {
params = new HashMap<>();
}
public AbstractOp(AbstractOp op) {
params = new HashMap<>(op.params);
clearIOCache();
}
@Override
public void clearParams() {
params.clear();
}
@Override
public void clearIOCache() {
for (String key : params.keySet()) {
if (key.startsWith("op.input") || key.startsWith("op.output")) { //$NON-NLS-1$ //$NON-NLS-2$
params.put(key, null);
}
}
}
@Override
public Object getParam(String key) {
if (key == null) {
return null;
}
return params.get(key);
}
@Override
public void setParam(String key, Object value) {
if (key != null) {
params.put(key, value);
}
}
@Override
public void setAllParameters(Map<String, Object> map) {
if (map != null) {
params.putAll(map);
}
}
@Override
public void removeParam(String key) {
if (key != null) {
params.remove(key);
}
}
@Override
public boolean isEnabled() {
return JMVUtils.getNULLtoTrue(params.get(Param.ENABLE));
}
@Override
public void setEnabled(boolean enabled) {
params.put(Param.ENABLE, enabled);
}
@Override
public String getName() {
return (String) params.get(Param.NAME);
}
@Override
public void setName(String name) {
if (name != null) {
params.put(Param.NAME, name);
}
}
@Override
public void handleImageOpEvent(ImageOpEvent event) {
}
}