mbeanconstructordescriptor.java

来自「jmx在spring中的实现」· Java 代码 · 共 91 行

JAVA
91
字号
/*
======================================================================

  MBeanConstructorDescriptor.java

  Created by Claude Duguay
  Copyright (c) 2005

======================================================================
*/

package com.claudeduguay.mbeans.model;

import java.util.*;

import javax.management.*;
import javax.management.modelmbean.*;

import org.jdom.*;

import com.claudeduguay.util.jdom.*;

public class MBeanConstructorDescriptor
	extends MBeanFeatureDescriptor
	implements IStorableElement
{
	protected List<MBeanParameterDescriptor> signature = new ArrayList<MBeanParameterDescriptor>();
	protected MBeanDescriptorDescriptor descriptor;

	public MBeanConstructorDescriptor() {}

	public MBeanConstructorDescriptor(Element element)
	{
		parseElement(element);
	}
	
	public ModelMBeanConstructorInfo createMBeanConstructorInfo()
	{
		MBeanParameterInfo[] signatureArray = createMBeanParameterInfoArray();
		return new ModelMBeanConstructorInfo(name, description, signatureArray);
	}
  
  public List<MBeanParameterDescriptor> getSignature()
  {
  	return signature;
  }
  
  public void setSignature(List<MBeanParameterDescriptor> signature)
  {
  	this.signature = signature;
  }
  
  public void addParameter(MBeanParameterDescriptor parameter)
  {
  	signature.add(parameter);
  }
  
	protected MBeanParameterInfo[] createMBeanParameterInfoArray()
	{
		int count = signature.size();
		MBeanParameterInfo[] array = new MBeanParameterInfo[count];
		for (int i = 0; i < count; i++)
		{
			array[i] = signature.get(i).createMBeanParameterInfo();
		}
		return array;
	}

	public Element buildElement()
	{
		Element element = super.buildElement();
		element.setName("constructor");
		for (MBeanParameterDescriptor parameter : signature)
		{
			element.addContent(parameter.buildElement());
		}
		return element;
	}
	
	public void parseElement(Element element)
	{
		super.parseElement(element);
		List children = element.getChildren();
		for (int i = 0; i < children.size(); i++)
		{
			Element child = (Element)children.get(i);
			addParameter(new MBeanParameterDescriptor(child));
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?