package org.jboss.net.jmx.adaptor;
import org.jboss.axis.Constants;
import org.jboss.axis.encoding.SerializationContext;
import org.jboss.axis.encoding.Serializer;
import org.jboss.axis.wsdl.fromJava.Types;
import org.w3c.dom.Element;
import org.xml.sax.Attributes;
import javax.management.MBeanOperationInfo;
import javax.xml.namespace.QName;
import java.io.IOException;
public class MBeanOperationInfoSer implements Serializer
{
   public void serialize(QName name,
                         Attributes attributes,
                         Object value,
                         SerializationContext context)
           throws IOException
   {
      if (!(value instanceof MBeanOperationInfo))
         throw new IOException("Can't serialize a "
                 + value.getClass().getName()
                 + " instance with a MBeanOperationInfo Serializer.");
      context.startElement(name, attributes);
      MBeanOperationInfo info = (MBeanOperationInfo)value;
      context.serialize(new QName("", "name"), null, info.getName());
      context.serialize(new QName("", "description"),
              null,
              info.getDescription());
      context.serialize(new QName("", "signature"), null, info.getSignature());
      context.serialize(new QName("", "type"), null, info.getReturnType());
      context.serialize(new QName("", "impact"),
              null,
              new Integer(info.getImpact()));
      context.endElement();
      return;
   }
   public Element writeSchema(Class aClass, Types types) throws Exception
   {
      return null;
   }
   public String getMechanismType()
   {
      return Constants.AXIS_SAX;
   }
}