Package org.objectweb.celtix.context

Source Code of org.objectweb.celtix.context.MessageContextWrapper

package org.objectweb.celtix.context;

import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.xml.ws.handler.MessageContext;

public class MessageContextWrapper implements MessageContext {
    protected MessageContext context;
   
    public MessageContextWrapper(MessageContext ctx) {
        context = ctx;
    }

    public String toString() {
        String wrapped = context instanceof MessageContextWrapper
                         ? context.toString()
                         : context.getClass().getName();
        return this.getClass().getName() + " wrapping: <" + wrapped + ">";
    }

    public void setScope(String arg0, Scope arg1) {
        context.setScope(arg0, arg1);
    }

    public Scope getScope(String arg0) {
        return context.getScope(arg0);
    }

    public int size() {
        return context.size();
    }

    public boolean isEmpty() {
        return context.isEmpty();
    }

    public boolean containsKey(Object arg0) {
        return context.containsKey(arg0);
    }

    public boolean containsValue(Object arg0) {
        return context.containsValue(arg0);
    }

    public Object get(Object arg0) {
        return context.get(arg0);
    }

    public Object put(String arg0, Object arg1) {
        return context.put(arg0, arg1);
    }

    public Object remove(Object arg0) {
        return context.remove(arg0);
    }
   
    @SuppressWarnings("unchecked")
    public void putAll(Map<? extends String, ? extends Object> arg0) {
        context.putAll(arg0);
       
        if (arg0 instanceof MessageContext) {
            Iterator<String> iter = ((MessageContext)arg0).keySet().iterator();
           
            while (iter.hasNext()) {
                String obj = iter.next();
                context.setScope(obj, ((MessageContext)arg0).getScope(obj));
            }
        }
    }
   
    public void clear() {
        context.clear();
    }

    public Set<String> keySet() {
        return context.keySet();
    }

    public Collection<Object> values() {
        return context.values();
    }

    public Set<Entry<String, Object>> entrySet() {
        return context.entrySet();
    }


    public MessageContext getWrappedContext() {
        return context;
    }
   
    public static MessageContext unwrap(MessageContext ctx) {
        MessageContext wrapper = ctx;
        while (wrapper instanceof MessageContextWrapper) {
            wrapper = ((MessageContextWrapper)wrapper).getWrappedContext();
        }
        return wrapper;
    }
}
TOP

Related Classes of org.objectweb.celtix.context.MessageContextWrapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.