blob: 8b54eec15896647e431efa9d9f5a7d7b357267d1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.internal.xr;
// Javase imports
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
// Java extension imports
// EclipseLink imports
/**
* <p><b>INTERNAL</b>: An <code>Invocation</code> holds runtime argument values that are used by an
* {@link XRServiceAdapter} to invoke a named {@link Operation}
*
* @author Mike Norman - michael.norman@oracle.com
* @since EclipseLink 1.x
*/
public class Invocation {
protected String name;
protected Map<String, Object> parameters = new HashMap<String, Object>();
public Invocation() {
super();
}
public Invocation(String name) {
super();
this.name = name;
}
/**
* <p><b>INTERNAL</b>: Get the name of this <code>Invocation</code>
* @return name of this <code>Invocation</code>
*/
public String getName() {
return name;
}
/**
* <p><b>INTERNAL</b>: Set the name of this <code>Invocation</code>
* @param name of this <code>Invocation</code>
*/
public void setName(String name) {
this.name = name;
}
/**
* <p><b>PUBLIC</b>: Get the runtime argument value with the given name
* @param name of argument
* @return desired runtime argument value
*/
public Object getParameter(String key) {
return parameters.get(key);
}
/**
* <p><b>INTERNAL</b>: Set a runtime argument value
* @param name of argument
* @param parameter runtime argument value
*/
public void setParameter(String key, Object value) {
parameters.put(key, value);
}
/**
* <p><b>INTERNAL</b>: Get the runtime argument values
* @return runtime argument values
*/
public Collection<Object> getParameters() {
return parameters.values();
}
}