Marking of more classes, might get rid of in the future and optimize; Implement shrin...
[SquirrelJME.git] / modules / cldc-compact / src / main / java / cc / squirreljme / jvm / launch / AvailableSuites.java
blob306421c3cbdd71137a6206966fd2a4ca1032d932
1 // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
3 // SquirrelJME
4 // Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
5 // ---------------------------------------------------------------------------
6 // SquirrelJME is under the GNU General Public License v3+, or later.
7 // See license.mkd for licensing and copyright information.
8 // ---------------------------------------------------------------------------
10 package cc.squirreljme.jvm.launch;
12 import cc.squirreljme.runtime.cldc.annotation.Exported;
14 /**
15 * This contains the list of suites and libraries.
17 * @since 2020/12/28
19 @Exported
20 public final class AvailableSuites
22 /** The applications available. */
23 private final Application[] _apps;
25 /** The lazy loaded library set. */
26 private final __Libraries__ _libraries;
28 /**
29 * Initializes the available suites.
31 * @param __libs The libraries to use for lazy initialization.
32 * @param __apps The applications that are available.
33 * @throws NullPointerException On null arguments.
34 * @since 2020/12/29
36 AvailableSuites(__Libraries__ __libs, Application... __apps)
37 throws NullPointerException
39 if (__libs == null || __apps == null)
40 throw new NullPointerException("NARG");
42 this._libraries = __libs;
43 this._apps = __apps.clone();