ModelMBeanConstructorInfopublic class ModelMBeanConstructorInfo extends MBeanConstructorInfo implements Cloneable, DescriptorAccessThe ModelMBeanConstructorInfo object describes a constructor of the ModelMBean.
It is a subclass of MBeanConstructorInfo with the addition of an associated Descriptor
and an implementation of the DescriptorAccess interface.
The fields in the descriptor are defined, but not limited to, the following:
name : constructor name
descriptorType : must be "operation"
role : must be "constructor"
displayName : human readable name of constructor
visibility : 1-4 where 1: always visible 4: rarely visible
presentationString : xml formatted string to describe how to present operation
The persistPolicy and currencyTimeLimit fields are not valid for the constructor.
The default descriptor will have the name, descriptorType, displayName and role fields. |
Fields Summary |
---|
private static final long | oldSerialVersionUID | private static final long | newSerialVersionUID | private static final ObjectStreamField[] | oldSerialPersistentFields | private static final ObjectStreamField[] | newSerialPersistentFields | private static final long | serialVersionUID | private static final ObjectStreamField[] | serialPersistentFields | private static boolean | compat | private Descriptor | consDescriptor | private static final String | currClass |
Constructors Summary |
---|
public ModelMBeanConstructorInfo(String description, Constructor constructorMethod)Constructs a MBeanConstructorInfo object with a default descriptor.
super(description, constructorMethod);
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, Method)","Executed");
}
consDescriptor = createDefaultDescriptor();
// put getter and setter methods in constructors list
// create default descriptor
| public ModelMBeanConstructorInfo(String description, Constructor constructorMethod, Descriptor descriptor)Constructs a MBeanConstructorInfo object.
super(description, constructorMethod);
// put getter and setter methods in constructors list
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, Method, Descriptor)","Executed");
}
if (descriptor == null)
{
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, Method, Descriptor)","Descriptor passed in is null, setting descriptor to default values");
}
consDescriptor = createDefaultDescriptor();
} else
{
if (isValid(descriptor))
{
consDescriptor = (Descriptor) descriptor.clone();
} else
{ // exception
consDescriptor = createDefaultDescriptor();
throw new RuntimeOperationsException(new IllegalArgumentException("Invalid descriptor passed in parameter"), ("Exception occured in ModelMBeanConstructorInfo constructor"));
}
}
| public ModelMBeanConstructorInfo(String name, String description, MBeanParameterInfo[] signature)Constructs a ModelMBeanConstructorInfo object with a default descriptor.
super(name, description, signature);
// create default descriptor
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, String, MBeanParameterInfo[])","Executed");
}
consDescriptor = createDefaultDescriptor();
| public ModelMBeanConstructorInfo(String name, String description, MBeanParameterInfo[] signature, Descriptor descriptor)Constructs a MBeanConstructorInfo object.
super(name, description, signature);
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, String, MBeanParameterInfo[], Descriptor)","Executed");
}
if (descriptor == null)
{
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, Method, Descriptor)","Descriptor passed in is null, setting descriptor to default values");
}
consDescriptor = createDefaultDescriptor();
} else
{
if (isValid(descriptor))
{
consDescriptor = (Descriptor) descriptor.clone();
} else
{ // exception
consDescriptor = createDefaultDescriptor();
throw new RuntimeOperationsException(new IllegalArgumentException("Invalid descriptor passed in parameter"), ("Exception occured in ModelMBeanConstructorInfo constructor"));
}
}
| ModelMBeanConstructorInfo(ModelMBeanConstructorInfo old)Constructs a new ModelMBeanConstructorInfo object from this ModelMBeanConstructor Object.
super(old.getName(), old.getDescription(), old.getSignature());
if (tracing())
{
trace("ModelMBeanConstructorInfo(ModelMBeanConstructorInfo)","Executed");
}
if (old.consDescriptor == null)
{
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, Method, Descriptor)","Existing descriptor passed in is null, setting new descriptor to default values");
}
consDescriptor = createDefaultDescriptor();
} else
{
if (isValid(consDescriptor))
{
consDescriptor = (Descriptor) old.consDescriptor.clone();
} else
{ // exception
consDescriptor = createDefaultDescriptor();
throw new RuntimeOperationsException(new IllegalArgumentException("Invalid descriptor passed in parameter"), ("Exception occured in ModelMBeanConstructorInfo constructor"));
}
}
|
Methods Summary |
---|
public java.lang.Object | clone()Creates and returns a new ModelMBeanConstructorInfo which is a duplicate of this ModelMBeanConstructorInfo.
if (tracing())
{
trace("ModelMBeanConstructorInfo.clone()","Executed");
}
return(new ModelMBeanConstructorInfo(this)) ;
| private javax.management.Descriptor | createDefaultDescriptor()Creates default descriptor for constructor as follows:
descriptorType=operation,role=constructor,
name=this.getName(),displayname=this.getName(),visibility=1
if (tracing())
{
trace("ModelMBeanConstructorInfo.createDefaultDescriptor()","Executed");
}
return new DescriptorSupport(new String[] {"descriptorType=operation",
"role=constructor",
("name=" + this.getName()),
("displayname=" + this.getName())});
| public javax.management.Descriptor | getDescriptor()Returns a copy of the associated Descriptor.
if (tracing())
{
trace("ModelMBeanConstructorInfo.getDescriptor()","Executed");
}
if (consDescriptor == null)
{
consDescriptor = createDefaultDescriptor();
}
return((Descriptor)consDescriptor.clone());
| private boolean | isValid(javax.management.Descriptor inDesc)Tests that the descriptor is valid and adds appropriate default fields not already
specified. Field values must be correct for field names.
Descriptor must have the same name as the operation,the descriptorType field must
be "operation", the role field must be set to "constructor".
The following fields will be defaulted if they are not already set:
displayName=this.getName()
boolean results = true;
String badField="none";
// if name != this.getName
// if (descriptorType != operation)
// look for displayName, persistPolicy, visibility and add in
if (inDesc == null)
{
badField="nullDescriptor";
results = false;
}
else if (!inDesc.isValid())
{ // checks for empty descriptors, null,
// checks for empty name and descriptorType adn valid values for fields.
badField="invalidDescriptor";
results = false;
}
else
{
if (! ((String)inDesc.getFieldValue("name")).equalsIgnoreCase(this.getName()))
{
badField="name";
results = false;
}
if (! ((String)inDesc.getFieldValue("descriptorType")).equalsIgnoreCase("operation"))
{
badField="descriptorType";
results = false;
}
if (inDesc.getFieldValue("role") == null)
{
inDesc.setField("role","constructor");
}
if (! ((String)inDesc.getFieldValue("role")).equalsIgnoreCase("constructor"))
{
badField = "role";
results = false;
} else if ((inDesc.getFieldValue("displayName")) == null)
{
inDesc.setField("displayName",this.getName());
}
}
if (tracing()) trace("isValid()",("Returning " + results + ": Invalid field is " + badField));
return results;
| private void | readObject(java.io.ObjectInputStream in)Deserializes a {@link ModelMBeanConstructorInfo} from an {@link ObjectInputStream}.
// New serial form ignores extra field "currClass"
in.defaultReadObject();
| public void | setDescriptor(javax.management.Descriptor inDescriptor)Sets associated Descriptor (full replace) of
ModelMBeanConstructorInfo. If the new Descriptor is null,
then the associated Descriptor reverts to a default
descriptor. The Descriptor is validated before it is
assigned. If the new Descriptor is invalid, then a
RuntimeOperationsException wrapping an
IllegalArgumentException is thrown.
if (tracing())
{
trace("ModelMBeanConstructorInfo.setDescriptor()","Executed");
}
if (inDescriptor == null)
{
if (tracing())
{
trace("ModelMBeanConstructorInfo(String, Method, Descriptor)","Descriptor passed in is null, setting descriptor to default values");
}
consDescriptor = createDefaultDescriptor();
} else
{
if (isValid(inDescriptor))
{
consDescriptor = (Descriptor) inDescriptor.clone();
} else
{
throw new RuntimeOperationsException(new IllegalArgumentException("Invalid descriptor passed in parameter"), ("Exception occured in ModelMBeanConstructorInfo setDescriptor"));
}
}
| public java.lang.String | toString()Returns a string containing the entire contents of the ModelMBeanConstructorInfo in human readable form.
if (tracing())
{
trace("ModelMBeanConstructorInfo.toString()","Executed");
}
String retStr =
"ModelMBeanConstructorInfo: " + this.getName() +
" ; Description: " + this.getDescription() +
" ; Descriptor: " + this.getDescriptor() +
" ; Signature: ";
MBeanParameterInfo[] pTypes = this.getSignature();
for (int i=0; i < pTypes.length; i++)
{
retStr = retStr.concat((pTypes[i]).getType() + ", ");
}
return retStr;
| private void | trace(java.lang.String inClass, java.lang.String inMethod, java.lang.String inText)
// System.out.println("TRACE: " + inClass + ":" + inMethod + ": " + inText);
Trace.send(Trace.LEVEL_TRACE, Trace.INFO_MODELMBEAN, inClass,
inMethod, Integer.toHexString(this.hashCode()) + " " + inText);
| private void | trace(java.lang.String inMethod, java.lang.String inText)
trace(currClass, inMethod, inText);
| private boolean | tracing()
// return false;
return Trace.isSelected(Trace.LEVEL_TRACE, Trace.INFO_MODELMBEAN);
| private void | writeObject(java.io.ObjectOutputStream out)Serializes a {@link ModelMBeanConstructorInfo} to an {@link ObjectOutputStream}.
if (compat)
{
// Serializes this instance in the old serial form
//
ObjectOutputStream.PutField fields = out.putFields();
fields.put("consDescriptor", consDescriptor);
fields.put("currClass", currClass);
out.writeFields();
}
else
{
// Serializes this instance in the new serial form
//
out.defaultWriteObject();
}
|
|