FileDocCategorySizeDatePackage
Repository.javaAPI DocJava SE 5 API3864Fri Aug 26 14:55:00 BST 2005com.sun.jmx.mbeanserver

Repository.java

/*
 * @(#)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();

 }