/*
* @(#)Repository.java 1.37 03/12/19
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.sun.jmx.mbeanserver;
// java import
import java.util.ArrayList;
import java.util.Set;
// RI import
import javax.management.*;
/**
* The Repository interface provides local access to the
* implementation of Repository Service in use in the agent.
*
* @since 1.5
* @since.unbundled JMX RI 1.2
*/
public interface Repository {
/**
* The purpose of this method is to provide a unified way to provide whatever
* configuration information is needed by the specific underlying implementation
* of the repository.
*
* @param configParameters An list containing the configuration parameters needed by the specific
* Repository Service implementation.
*/
public void setConfigParameters(ArrayList configParameters) ;
/**
* Indicates whether or not the Repository Service supports filtering. If
* the Repository Service does not support filtering, the MBean Server
* will perform filtering.
*
* @return true if filtering is supported, false otherwise.
*/
public boolean isFiltering() ;
/**
* Stores an MBean associated with its object name in the repository.
*
*@param object MBean to be stored in the repository.
*@param name MBean object name.
*
*@exception InstanceAlreadyExistsException The MBean is already stored in the repository.
*/
public void addMBean(Object object, ObjectName name )
throws InstanceAlreadyExistsException ;
/**
* Checks whether an MBean of the name specified is already stored in
* the repository.
*
* @param name name of the MBean to find.
*
* @return true if the MBean is stored in the repository, false otherwise.
*/
public boolean contains(ObjectName name) ;
/**
* Retrieves the MBean of the name specified from the repository. The
* object name must match exactly.
*
* @param name name of the MBean to retrieve.
*
* @return The retrieved MBean if it is contained in the repository, null otherwise.
*
*/
public Object retrieve(ObjectName name) ;
/**
* Selects and retrieves the list of MBeans whose names match the specified
* object name pattern and which match the specified query expression (optionally).
*
*
* @param name The name of the MBean(s) to retrieve - may be a specific object or
* a name pattern allowing multiple MBeans to be selected.
* @param query query expression to apply when selecting objects - this parameter will
* be ignored when the Repository Service does not support filtering.
*
* @return The list of MBeans selected. There may be zero, one or many MBeans returned
* in the Set.
*
*/
public Set query(ObjectName name, QueryExp query);
/**
* Removes an MBean from the repository.
*
* @param name name of the MBean to remove.
*
* @exception InstanceNotFoundException The MBean does not exist in the repository.
*/
public void remove(ObjectName name) throws InstanceNotFoundException ;
/**
* Gets the number of MBeans stored in the repository.
*
* @return Number of MBeans.
*/
public Integer getCount() ;
/**
* Gets the name of the domain currently used by default in the repository.
*
* @return A string giving the name of the default domain name.
*/
public String getDefaultDomain() ;
/**
* Returns the list of domains in which any MBean is currently
* registered.
*
* @since.unbundled JMX RI 1.2
*/
public String[] getDomains();
}
|