6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.jpackage.internal;
27
28 import java.util.Collection;
29 import java.util.Iterator;
30 import java.util.ServiceLoader;
31
32 /**
33 * Bundlers
34 *
35 * The interface implemented by BasicBundlers
36 */
37 public interface Bundlers {
38
39 /**
40 * This convenience method will call
41 * {@link #createBundlersInstance(ClassLoader)}
42 * with the classloader that this Bundlers is loaded from.
43 *
44 * @return an instance of Bundlers loaded and configured from
45 * the current ClassLoader.
46 */
84
85 /**
86 * Returns all of the preconfigured, requested, and manually
87 * configured bundlers loaded with this instance.
88 *
89 * @return a read-only collection of the requested bundlers
90 */
91 Collection<Bundler> getBundlers();
92
93 /**
94 * Returns all of the preconfigured, requested, and manually
95 * configured bundlers loaded with this instance that are of
96 * a specific BundleType, such as disk images, installers, or
97 * remote installers.
98 *
99 * @return a read-only collection of the requested bundlers
100 */
101 Collection<Bundler> getBundlers(String type);
102
103 /**
104 * Loads the bundlers common to the JDK. A typical implementation
105 * would load:
106 * <UL>
107 * <LI>Windows file image</LI>
108 * <LI>Mac .app</LI>
109 * <LI>Linux file image</LI>
110
111 * <LI>Windows MSI</LI>
112 * <LI>Windows EXE</LI>
113 * <LI>Mac DMG</LI>
114 * <LI>Mac PKG</LI>
115 * <LI>Linux DEB</LI>
116 * <LI>Linux RPM</LI>
117 *
118 * </UL>
119 *
120 * This method is called from the
121 * {@link #createBundlersInstance(ClassLoader)}
122 * and {@link #createBundlersInstance()} methods.
123 * NOTE: Because of the module system this method is now not used.
124 */
125 void loadDefaultBundlers();
126
127 /**
128 * Loads bundlers from the META-INF/services directly.
129 *
130 * This method is called from the
131 * {@link #createBundlersInstance(ClassLoader)}
132 * and {@link #createBundlersInstance()} methods.
133 */
134 void loadBundlersFromServices(ClassLoader cl);
135
136 /**
137 * Loads a specific bundler into the set of bundlers.
138 * Useful for a manually configured bundler.
139 *
140 * @param bundler the specific bundler to add
141 */
142 void loadBundler(Bundler bundler);
143 }
|
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package jdk.incubator.jpackage.internal;
27
28 import java.util.Collection;
29 import java.util.Iterator;
30 import java.util.ServiceLoader;
31
32 /**
33 * Bundlers
34 *
35 * The interface implemented by BasicBundlers
36 */
37 public interface Bundlers {
38
39 /**
40 * This convenience method will call
41 * {@link #createBundlersInstance(ClassLoader)}
42 * with the classloader that this Bundlers is loaded from.
43 *
44 * @return an instance of Bundlers loaded and configured from
45 * the current ClassLoader.
46 */
84
85 /**
86 * Returns all of the preconfigured, requested, and manually
87 * configured bundlers loaded with this instance.
88 *
89 * @return a read-only collection of the requested bundlers
90 */
91 Collection<Bundler> getBundlers();
92
93 /**
94 * Returns all of the preconfigured, requested, and manually
95 * configured bundlers loaded with this instance that are of
96 * a specific BundleType, such as disk images, installers, or
97 * remote installers.
98 *
99 * @return a read-only collection of the requested bundlers
100 */
101 Collection<Bundler> getBundlers(String type);
102
103 /**
104 * Loads bundlers from the META-INF/services directly.
105 *
106 * This method is called from the
107 * {@link #createBundlersInstance(ClassLoader)}
108 * and {@link #createBundlersInstance()} methods.
109 */
110 void loadBundlersFromServices(ClassLoader cl);
111
112 }
|