1 package org.objectweb.celtix.context; 2 3 import java.util.Collection ; 4 import java.util.Iterator ; 5 import java.util.Map ; 6 import java.util.Set ; 7 8 import javax.xml.ws.handler.MessageContext; 9 10 public class MessageContextWrapper implements MessageContext { 11 protected MessageContext context; 12 13 public MessageContextWrapper(MessageContext ctx) { 14 context = ctx; 15 } 16 17 public String toString() { 18 String wrapped = context instanceof MessageContextWrapper 19 ? context.toString() 20 : context.getClass().getName(); 21 return this.getClass().getName() + " wrapping: <" + wrapped + ">"; 22 } 23 24 public void setScope(String arg0, Scope arg1) { 25 context.setScope(arg0, arg1); 26 } 27 28 public Scope getScope(String arg0) { 29 return context.getScope(arg0); 30 } 31 32 public int size() { 33 return context.size(); 34 } 35 36 public boolean isEmpty() { 37 return context.isEmpty(); 38 } 39 40 public boolean containsKey(Object arg0) { 41 return context.containsKey(arg0); 42 } 43 44 public boolean containsValue(Object arg0) { 45 return context.containsValue(arg0); 46 } 47 48 public Object get(Object arg0) { 49 return context.get(arg0); 50 } 51 52 public Object put(String arg0, Object arg1) { 53 return context.put(arg0, arg1); 54 } 55 56 public Object remove(Object arg0) { 57 return context.remove(arg0); 58 } 59 60 @SuppressWarnings ("unchecked") 61 public void putAll(Map <? extends String , ? extends Object > arg0) { 62 context.putAll(arg0); 63 64 if (arg0 instanceof MessageContext) { 65 Iterator <String > iter = ((MessageContext)arg0).keySet().iterator(); 66 67 while (iter.hasNext()) { 68 String obj = iter.next(); 69 context.setScope(obj, ((MessageContext)arg0).getScope(obj)); 70 } 71 } 72 } 73 74 public void clear() { 75 context.clear(); 76 } 77 78 public Set <String > keySet() { 79 return context.keySet(); 80 } 81 82 public Collection <Object > values() { 83 return context.values(); 84 } 85 86 public Set <Entry<String , Object >> entrySet() { 87 return context.entrySet(); 88 } 89 90 91 public MessageContext getWrappedContext() { 92 return context; 93 } 94 95 public static MessageContext unwrap(MessageContext ctx) { 96 MessageContext wrapper = ctx; 97 while (wrapper instanceof MessageContextWrapper) { 98 wrapper = ((MessageContextWrapper)wrapper).getWrappedContext(); 99 } 100 return wrapper; 101 } 102 } 103 | Popular Tags |