001: package org.objectweb.celtix.context;
002:
003: import java.util.Collection;
004: import java.util.Iterator;
005: import java.util.Map;
006: import java.util.Set;
007:
008: import javax.xml.ws.handler.MessageContext;
009:
010: public class MessageContextWrapper implements MessageContext {
011: protected MessageContext context;
012:
013: public MessageContextWrapper(MessageContext ctx) {
014: context = ctx;
015: }
016:
017: public String toString() {
018: String wrapped = context instanceof MessageContextWrapper ? context
019: .toString()
020: : context.getClass().getName();
021: return this .getClass().getName() + " wrapping: <" + wrapped
022: + ">";
023: }
024:
025: public void setScope(String arg0, Scope arg1) {
026: context.setScope(arg0, arg1);
027: }
028:
029: public Scope getScope(String arg0) {
030: return context.getScope(arg0);
031: }
032:
033: public int size() {
034: return context.size();
035: }
036:
037: public boolean isEmpty() {
038: return context.isEmpty();
039: }
040:
041: public boolean containsKey(Object arg0) {
042: return context.containsKey(arg0);
043: }
044:
045: public boolean containsValue(Object arg0) {
046: return context.containsValue(arg0);
047: }
048:
049: public Object get(Object arg0) {
050: return context.get(arg0);
051: }
052:
053: public Object put(String arg0, Object arg1) {
054: return context.put(arg0, arg1);
055: }
056:
057: public Object remove(Object arg0) {
058: return context.remove(arg0);
059: }
060:
061: @SuppressWarnings("unchecked")
062: public void putAll(Map<? extends String, ? extends Object> arg0) {
063: context.putAll(arg0);
064:
065: if (arg0 instanceof MessageContext) {
066: Iterator<String> iter = ((MessageContext) arg0).keySet()
067: .iterator();
068:
069: while (iter.hasNext()) {
070: String obj = iter.next();
071: context.setScope(obj, ((MessageContext) arg0)
072: .getScope(obj));
073: }
074: }
075: }
076:
077: public void clear() {
078: context.clear();
079: }
080:
081: public Set<String> keySet() {
082: return context.keySet();
083: }
084:
085: public Collection<Object> values() {
086: return context.values();
087: }
088:
089: public Set<Entry<String, Object>> entrySet() {
090: return context.entrySet();
091: }
092:
093: public MessageContext getWrappedContext() {
094: return context;
095: }
096:
097: public static MessageContext unwrap(MessageContext ctx) {
098: MessageContext wrapper = ctx;
099: while (wrapper instanceof MessageContextWrapper) {
100: wrapper = ((MessageContextWrapper) wrapper)
101: .getWrappedContext();
102: }
103: return wrapper;
104: }
105: }
|