72 } 73 74 private static final JigsawModuleSystem jms 75 = JigsawModuleSystem.instance(); 76 77 protected Library() { } 78 79 /** 80 * <p> Return the major version of this library. </p> 81 */ 82 public abstract int majorVersion(); 83 84 /** 85 * <p> Return the minor version of this library. </p> 86 */ 87 public abstract int minorVersion(); 88 89 public abstract Library parent(); 90 91 /** 92 * <p> Read the module-info class bytes for the module with the given 93 * identifier, from this library only. </p> 94 * 95 * @param mid 96 * The identifier of the module being sought 97 * 98 * @return A byte array containing the content of the named module's 99 * <tt>module-info.class</tt> file, or {@code null} if no such 100 * module is present in this library 101 * 102 * @throws IllegalArgumentException 103 * If the given module identifier is not a Jigsaw module 104 * identifier 105 */ 106 protected abstract byte[] readLocalModuleInfoBytes(ModuleId mid) 107 throws IOException; 108 109 /** 110 * <p> Read the raw module-info class bytes of the specified module, from 111 * this library or a parent library. </p> | 72 } 73 74 private static final JigsawModuleSystem jms 75 = JigsawModuleSystem.instance(); 76 77 protected Library() { } 78 79 /** 80 * <p> Return the major version of this library. </p> 81 */ 82 public abstract int majorVersion(); 83 84 /** 85 * <p> Return the minor version of this library. </p> 86 */ 87 public abstract int minorVersion(); 88 89 public abstract Library parent(); 90 91 /** 92 * <p> Return the Architecture of this library. </p> 93 */ 94 public abstract ModuleArchitecture architecture(); 95 96 /** 97 * <p> Read the module-info class bytes for the module with the given 98 * identifier, from this library only. </p> 99 * 100 * @param mid 101 * The identifier of the module being sought 102 * 103 * @return A byte array containing the content of the named module's 104 * <tt>module-info.class</tt> file, or {@code null} if no such 105 * module is present in this library 106 * 107 * @throws IllegalArgumentException 108 * If the given module identifier is not a Jigsaw module 109 * identifier 110 */ 111 protected abstract byte[] readLocalModuleInfoBytes(ModuleId mid) 112 throws IOException; 113 114 /** 115 * <p> Read the raw module-info class bytes of the specified module, from 116 * this library or a parent library. </p> |