FileDocCategorySizeDatePackage
PropertyValueAccessorBase.javaAPI DocGlassfish v2 API5834Fri May 04 22:24:08 BST 2007com.sun.enterprise.admin.dottedname.valueaccessor

PropertyValueAccessorBase

public abstract class PropertyValueAccessorBase extends PrefixedValueAccessorBase

Fields Summary
Constructors Summary
public PropertyValueAccessorBase(MBeanServerConnection conn, String prefix)

		super( conn, prefix);
	
Methods Summary
public java.lang.String[]getAllPropertyNames(javax.management.ObjectName objectName)

        return getAllPropertyNames( objectName, false );
    
public java.lang.String[]getAllPropertyNames(javax.management.ObjectName objectName, boolean bIncludingPrefix)

		String	[]	names	= null;
		
		try
		{
			final AttributeList	props	= (AttributeList)getMBS().invoke( objectName,
					getGetPropertiesMethodName(), null, 
					null );
			names	= new String [ props.size() ];
			for( int i = 0; i < names.length; ++i )
			{
				final Attribute	attr	= (Attribute)props.get( i );
				if(bIncludingPrefix)
                    names[ i ]	= getDottedNamePrefix() + attr.getName();
                else
                    names[ i ]	= attr.getName();
			}
		}
		// getProperties() does not exist--do not log this--it will always happen
		// on MBeans that don't have properties.  Certain bugs in S1As interceptor
		// cause the wrong types of exceptions to be thrown, so we have to catch
		// several of them.  The correct one is ReflectionException
		catch( MBeanException e )
		{
			names	= new String [ 0 ];
		}
		catch( RuntimeOperationsException e )
		{
			names	= new String [ 0 ];
		}
		catch( ReflectionException e )
		{
			names	= new String [ 0 ];
		}
		
		return( names );
	
abstract java.lang.StringgetGetPropertiesMethodName()

abstract java.lang.StringgetGetPropertyMethodName()

abstract java.lang.StringgetSetPropertyMethodName()

public javax.management.AttributegetValue(javax.management.ObjectName objectName, java.lang.String valueName)

		Attribute	result	= null;
		try
		{
			final Object value	= getMBS().invoke( objectName,
				getGetPropertyMethodName(), new Object [] { valueName }, 
				new String [] { "java.lang.String" } );
			result	= new Attribute( valueName, value );
		}
		catch( MBeanException e )
		{
			// method doesn't exist
			throw new AttributeNotFoundException( DottedNameStrings.getString(DottedNameStrings.ATTRIBUTE_NOT_FOUND_KEY, valueName ));
		}
		catch( ReflectionException e )
		{
			// method doesn't exist
			throw new AttributeNotFoundException(  DottedNameStrings.getString(DottedNameStrings.ATTRIBUTE_NOT_FOUND_KEY, valueName ));
		}
		return( result );
	
public javax.management.AttributesetValue(javax.management.ObjectName objectName, javax.management.Attribute attr)

	// NOTE: -Djmx.invoke.getters must be set for setProperty() to succeed
	// as a method invocation (in the unit tests)
	
	// note that if attr.getValue() is null, the property will be removed
		getMBS().invoke( objectName,
			getSetPropertyMethodName(), new Object [] { attr }, 
			new String [] { "javax.management.Attribute" } );
		
		return( attr );