Ice.ImplicitContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ice Show documentation
Show all versions of ice Show documentation
Ice is a comprehensive RPC framework that helps you build distributed applications with minimal effort using familiar object-oriented idioms
// **********************************************************************
//
// Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
//
// Ice version 3.6.5
//
//
//
// Generated from file `ImplicitContext.ice'
//
// Warning: do not edit this file.
//
//
//
package Ice;
/**
* An interface to associate implict contexts with communicators.
*
* When you make a remote invocation without an explicit context parameter,
* Ice uses the per-proxy context (if any) combined with the ImplicitContext
* associated with the communicator.
*
* Ice provides several implementations of ImplicitContext. The implementation
* used depends on the value of the Ice.ImplicitContext property.
*
* - None (default)
* - No implicit context at all.
* - PerThread
* - The implementation maintains a context per thread.
* - Shared
* - The implementation maintains a single context shared by all threads.
*
*
* ImplicitContext also provides a number of operations to create, update or retrieve
* an entry in the underlying context without first retrieving a copy of the entire
* context. These operations correspond to a subset of the java.util.Map methods,
* with java.lang.Object replaced by string and null replaced by the empty-string.
*
**/
public interface ImplicitContext
{
/**
* Get a copy of the underlying context.
* @return A copy of the underlying context.
*
**/
java.util.Map getContext();
/**
* Set the underlying context.
*
* @param newContext The new context.
*
**/
void setContext(java.util.Map newContext);
/**
* Check if this key has an associated value in the underlying context.
*
* @param key The key.
*
* @return True if the key has an associated value, False otherwise.
*
**/
boolean containsKey(String key);
/**
* Get the value associated with the given key in the underlying context.
* Returns an empty string if no value is associated with the key.
* {@link #containsKey} allows you to distinguish between an empty-string value and
* no value at all.
*
* @param key The key.
*
* @return The value associated with the key.
*
**/
String get(String key);
/**
* Create or update a key/value entry in the underlying context.
*
* @param key The key.
*
* @param value The value.
*
* @return The previous value associated with the key, if any.
*
**/
String put(String key, String value);
/**
* Remove the entry for the given key in the underlying context.
*
* @param key The key.
*
* @return The value associated with the key, if any.
*
**/
String remove(String key);
public static final long serialVersionUID = 1570427488948089762L;
}