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