package org.jdiameter.server.impl; import org.jdiameter.api.*; import org.jdiameter.client.api.StackState; public class StackImpl extends org.jdiameter.client.impl.StackImpl implements StackImplMBean{ public MetaData getMetaData() { if (state == StackState.IDLE) throw new IllegalAccessError("Meta data not defined"); return (MetaData) assembler.getComponentInstance(MetaDataImpl.class); } public boolean isWrapperFor(Class<?> aClass) throws InternalException { if (aClass == MutablePeerTable.class) return true; else if (aClass == Network.class) return true; else if (aClass == OverloadManager.class) return true; else return super.isWrapperFor(aClass); } public <T> T unwrap(Class<T> aClass) throws InternalException { if (aClass == MutablePeerTable.class) return (T) assembler.getComponentInstance(aClass); if (aClass == Network.class) return (T) assembler.getComponentInstance(aClass); if (aClass == OverloadManager.class) return (T) assembler.getComponentInstance(aClass); else return (T) super.unwrap(aClass); } }