187 lines
6.9 KiB
Java
187 lines
6.9 KiB
Java
/*
|
|
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* This code is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License version 2 only, as
|
|
* published by the Free Software Foundation. Oracle designates this
|
|
* particular file as subject to the "Classpath" exception as provided
|
|
* by Oracle in the LICENSE file that accompanied this code.
|
|
*
|
|
* This code is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
* version 2 for more details (a copy is included in the LICENSE file that
|
|
* accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU General Public License version
|
|
* 2 along with this work; if not, write to the Free Software Foundation,
|
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*
|
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
* or visit www.oracle.com if you need additional information or have any
|
|
* questions.
|
|
*/
|
|
|
|
package javax.management.loading;
|
|
|
|
import java.net.URL;
|
|
import java.io.InputStream;
|
|
import java.io.IOException;
|
|
import java.util.Set;
|
|
import java.util.Enumeration;
|
|
|
|
import javax.management.*;
|
|
|
|
|
|
|
|
/**
|
|
* Exposes the remote management interface of the MLet
|
|
* MBean.
|
|
*
|
|
* @since 1.5
|
|
*/
|
|
public interface MLetMBean {
|
|
|
|
|
|
/**
|
|
* Loads a text file containing MLET tags that define the MBeans
|
|
* to be added to the MBean server. The location of the text file is
|
|
* specified by a URL. The text file is read using the UTF-8
|
|
* encoding. The MBeans specified in the MLET file will be
|
|
* instantiated and registered in the MBean server.
|
|
*
|
|
* @param url The URL of the text file to be loaded as String object.
|
|
*
|
|
* @return A set containing one entry per MLET tag in the m-let
|
|
* text file loaded. Each entry specifies either the
|
|
* ObjectInstance for the created MBean, or a throwable object
|
|
* (that is, an error or an exception) if the MBean could not be
|
|
* created.
|
|
*
|
|
* @exception ServiceNotFoundException One of the following errors
|
|
* has occurred: The m-let text file does not contain an MLET tag,
|
|
* the m-let text file is not found, a mandatory attribute of the
|
|
* MLET tag is not specified, the value of url is malformed.
|
|
*/
|
|
public Set<Object> getMBeansFromURL(String url)
|
|
throws ServiceNotFoundException;
|
|
|
|
/**
|
|
* Loads a text file containing MLET tags that define the MBeans
|
|
* to be added to the MBean server. The location of the text file is
|
|
* specified by a URL. The text file is read using the UTF-8
|
|
* encoding. The MBeans specified in the MLET file will be
|
|
* instantiated and registered in the MBean server.
|
|
*
|
|
* @param url The URL of the text file to be loaded as URL object.
|
|
*
|
|
* @return A set containing one entry per MLET tag in the m-let
|
|
* text file loaded. Each entry specifies either the
|
|
* ObjectInstance for the created MBean, or a throwable object
|
|
* (that is, an error or an exception) if the MBean could not be
|
|
* created.
|
|
*
|
|
* @exception ServiceNotFoundException One of the following errors
|
|
* has occurred: The m-let text file does not contain an MLET tag,
|
|
* the m-let text file is not found, a mandatory attribute of the
|
|
* MLET tag is not specified, the value of url is null.
|
|
*/
|
|
public Set<Object> getMBeansFromURL(URL url)
|
|
throws ServiceNotFoundException;
|
|
|
|
/**
|
|
* Appends the specified URL to the list of URLs to search for classes and
|
|
* resources.
|
|
*
|
|
* @param url the URL to add.
|
|
*/
|
|
public void addURL(URL url) ;
|
|
|
|
/**
|
|
* Appends the specified URL to the list of URLs to search for classes and
|
|
* resources.
|
|
*
|
|
* @param url the URL to add.
|
|
*
|
|
* @exception ServiceNotFoundException The specified URL is malformed.
|
|
*/
|
|
public void addURL(String url) throws ServiceNotFoundException;
|
|
|
|
/**
|
|
* Returns the search path of URLs for loading classes and resources.
|
|
* This includes the original list of URLs specified to the constructor,
|
|
* along with any URLs subsequently appended by the addURL() method.
|
|
*
|
|
* @return the list of URLs.
|
|
*/
|
|
public URL[] getURLs();
|
|
|
|
/** Finds the resource with the given name.
|
|
* A resource is some data (images, audio, text, etc) that can be accessed by class code in a way that is
|
|
* independent of the location of the code.
|
|
* The name of a resource is a "/"-separated path name that identifies the resource.
|
|
*
|
|
* @param name The resource name
|
|
*
|
|
* @return An URL for reading the resource, or null if the resource could not be found or the caller doesn't have adequate privileges to get the
|
|
* resource.
|
|
*/
|
|
public URL getResource(String name);
|
|
|
|
/** Returns an input stream for reading the specified resource. The search order is described in the documentation for
|
|
* getResource(String).
|
|
*
|
|
* @param name The resource name
|
|
*
|
|
* @return An input stream for reading the resource, or null if the resource could not be found
|
|
*
|
|
*/
|
|
public InputStream getResourceAsStream(String name);
|
|
|
|
/**
|
|
* Finds all the resources with the given name. A resource is some
|
|
* data (images, audio, text, etc) that can be accessed by class
|
|
* code in a way that is independent of the location of the code.
|
|
* The name of a resource is a "/"-separated path name that
|
|
* identifies the resource.
|
|
*
|
|
* @param name The resource name.
|
|
*
|
|
* @return An enumeration of URL to the resource. If no resources
|
|
* could be found, the enumeration will be empty. Resources that
|
|
* cannot be accessed will not be in the enumeration.
|
|
*
|
|
* @exception IOException if an I/O exception occurs when
|
|
* searching for resources.
|
|
*/
|
|
public Enumeration<URL> getResources(String name) throws IOException;
|
|
|
|
/**
|
|
* Gets the current directory used by the library loader for
|
|
* storing native libraries before they are loaded into memory.
|
|
*
|
|
* @return The current directory used by the library loader.
|
|
*
|
|
* @see #setLibraryDirectory
|
|
*
|
|
* @throws UnsupportedOperationException if this implementation
|
|
* does not support storing native libraries in this way.
|
|
*/
|
|
public String getLibraryDirectory();
|
|
|
|
/**
|
|
* Sets the directory used by the library loader for storing
|
|
* native libraries before they are loaded into memory.
|
|
*
|
|
* @param libdir The directory used by the library loader.
|
|
*
|
|
* @see #getLibraryDirectory
|
|
*
|
|
* @throws UnsupportedOperationException if this implementation
|
|
* does not support storing native libraries in this way.
|
|
*/
|
|
public void setLibraryDirectory(String libdir);
|
|
|
|
}
|