< prev index next >

src/java.instrument/share/classes/java/lang/instrument/Instrumentation.java

Print this page




 697      * <p> This method is safe for concurrent use and so allows multiple agents
 698      * to instrument and update the same module at around the same time. </p>
 699      *
 700      * @param module the module to redefine
 701      * @param extraReads the possibly-empty set of additional modules to read
 702      * @param extraExports the possibly-empty map of additional packages to export
 703      * @param extraOpens the possibly-empty map of additional packages to open
 704      * @param extraUses the possibly-empty set of additional services to use
 705      * @param extraProvides the possibly-empty map of additional services to provide
 706      *
 707      * @throws IllegalArgumentException
 708      *         If {@code extraExports} or {@code extraOpens} contains a key
 709      *         that is not a package in the module; if {@code extraExports} or
 710      *         {@code extraOpens} maps a key to an empty set; if a value in the
 711      *         {@code extraProvides} map contains a service provider type that
 712      *         is not a member of the module or an implementation of the service;
 713      *         or {@code extraProvides} maps a key to an empty list
 714      * @throws NullPointerException if any of the arguments are {@code null} or
 715      *         any of the Sets or Maps contains a {@code null} key or value
 716      * @since 9

 717      */
 718     void redefineModule(Module module,
 719                         Set<Module> extraReads,
 720                         Map<String, Set<Module>> extraExports,
 721                         Map<String, Set<Module>> extraOpens,
 722                         Set<Class<?>> extraUses,
 723                         Map<Class<?>, List<Class<?>>> extraProvides);
 724 }


 697      * <p> This method is safe for concurrent use and so allows multiple agents
 698      * to instrument and update the same module at around the same time. </p>
 699      *
 700      * @param module the module to redefine
 701      * @param extraReads the possibly-empty set of additional modules to read
 702      * @param extraExports the possibly-empty map of additional packages to export
 703      * @param extraOpens the possibly-empty map of additional packages to open
 704      * @param extraUses the possibly-empty set of additional services to use
 705      * @param extraProvides the possibly-empty map of additional services to provide
 706      *
 707      * @throws IllegalArgumentException
 708      *         If {@code extraExports} or {@code extraOpens} contains a key
 709      *         that is not a package in the module; if {@code extraExports} or
 710      *         {@code extraOpens} maps a key to an empty set; if a value in the
 711      *         {@code extraProvides} map contains a service provider type that
 712      *         is not a member of the module or an implementation of the service;
 713      *         or {@code extraProvides} maps a key to an empty list
 714      * @throws NullPointerException if any of the arguments are {@code null} or
 715      *         any of the Sets or Maps contains a {@code null} key or value
 716      * @since 9
 717      * @spec JPMS
 718      */
 719     void redefineModule(Module module,
 720                         Set<Module> extraReads,
 721                         Map<String, Set<Module>> extraExports,
 722                         Map<String, Set<Module>> extraOpens,
 723                         Set<Class<?>> extraUses,
 724                         Map<Class<?>, List<Class<?>>> extraProvides);
 725 }
< prev index next >