1. /*
  2. * @(#)ModifiableClassLoaderRepository.java 1.15 03/12/19
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.jmx.mbeanserver;
  8. // JMX import
  9. import javax.management.ObjectName;
  10. import javax.management.loading.ClassLoaderRepository;
  11. /**
  12. * This interface keeps the list of Class Loaders registered in the
  13. * MBean Server.
  14. * It provides the necessary methods to load classes using the
  15. * registered Class Loaders, and to add/remove class loaders from the
  16. * list.
  17. *
  18. * @since 1.5
  19. * @since.unbundled JMX RI 1.2
  20. */
  21. public interface ModifiableClassLoaderRepository
  22. extends ClassLoaderRepository {
  23. /**
  24. * Add an anonymous ClassLoader to the repository.
  25. **/
  26. public void addClassLoader(ClassLoader loader);
  27. /**
  28. * Remove the specified ClassLoader to the repository.
  29. * The class loader may or may not be anonymous.
  30. **/
  31. public void removeClassLoader(ClassLoader loader);
  32. /**
  33. * Add a named ClassLoader to the repository.
  34. **/
  35. public void addClassLoader(ObjectName name, ClassLoader loader);
  36. /**
  37. * Remove a named ClassLoader from the repository.
  38. **/
  39. public void removeClassLoader(ObjectName name);
  40. /**
  41. * Get a named ClassLoader from the repository.
  42. **/
  43. public ClassLoader getClassLoader(ObjectName name);
  44. }