*/
if (HttpUtil.booleanVariableValue(in, "attributes", true)) {
MBeanAttributeInfo[] attributes = info.getAttributes();
if (attributes != null)
{
SortedMap sortedAttributes = new TreeMap();
for (int i=0;i<attributes.length;i++)
{
Element attribute = document.createElement("Attribute");
attribute.setAttribute("name", attributes[i].getName());
attribute.setAttribute("type", attributes[i].getType());
attribute.setAttribute("description", attributes[i].getDescription());
attribute.setAttribute("strinit", String.valueOf(CommandProcessorUtil.canCreateParameterValue(attributes[i].getType())));
if (attributes[i].isReadable() && attributes[i].isWritable())
{
attribute.setAttribute("availability", "RW");
}
if (attributes[i].isReadable() && !attributes[i].isWritable())
{
attribute.setAttribute("availability", "RO");
}
if (!attributes[i].isReadable() && attributes[i].isWritable())
{
attribute.setAttribute("availability", "WO");
}
try
{
Object attributeValue = server.getAttribute(objectName, attributes[i].getName());
attribute.setAttribute("isnull", (attributeValue==null)?"true":"false");
if (attributeValue != null)
{
attribute.setAttribute("value", attributeValue.toString());
if (attributeValue.getClass().isArray())
{
attribute.setAttribute("aggregation", "array");
}
if (attributeValue instanceof java.util.Collection)
{
attribute.setAttribute("aggregation", "collection");
}
if (attributeValue instanceof java.util.Map)
{
attribute.setAttribute("aggregation", "map");
}
}
else
{
attribute.setAttribute("value", "null");
}
}
catch (JMException e)
{
attribute.setAttribute("value", e.getMessage());
}
sortedAttributes.put(attributes[i].getName(), attribute);
}
Iterator keys = sortedAttributes.keySet().iterator();
while (keys.hasNext())
{
root.appendChild((Element)sortedAttributes.get(keys.next()));
}
}
}
if (HttpUtil.booleanVariableValue(in, "constructors", true))
{