Class FilteredClassRealm

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class FilteredClassRealm
    extends ClassRealm
    Similar to ClassRealm but only exposing some resources of the underlying URL. Only supposed to be called from ClassWorld.
    • Constructor Detail

      • FilteredClassRealm

        public FilteredClassRealm​(java.util.function.Predicate<java.lang.String> filter,
                                  ClassWorld world,
                                  java.lang.String id,
                                  java.lang.ClassLoader baseClassLoader)
        Creates a new class realm.
        Parameters:
        filter - a predicate to apply to each resource name to determine if it should be loaded through this class loader
        world - The class world this realm belongs to, must not be null.
        id - The identifier for this realm, must not be null.
        baseClassLoader - The base class loader for this realm, may be null to use the bootstrap class loader.
    • Method Detail

      • findClassInternal

        protected java.lang.Class<?> findClassInternal​(java.lang.String name)
                                                throws java.lang.ClassNotFoundException
        Overrides:
        findClassInternal in class ClassRealm
        Throws:
        java.lang.ClassNotFoundException
      • findResource

        public java.net.URL findResource​(java.lang.String name)
        Overrides:
        findResource in class ClassRealm
      • findResources

        public java.util.Enumeration<java.net.URL> findResources​(java.lang.String name)
                                                          throws java.io.IOException
        Overrides:
        findResources in class ClassRealm
        Throws:
        java.io.IOException