1 // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
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
.vm
;
12 import cc
.squirreljme
.runtime
.cldc
.annotation
.Exported
;
13 import java
.io
.IOException
;
14 import java
.io
.InputStream
;
15 import java
.nio
.file
.Path
;
18 * This class represents a class library which represents a single JAR file
19 * whether it exists on the disk or is virtually provided.
24 public interface VMClassLibrary
27 * Lists the names of the resources in this library.
29 * @return The resource names.
33 String
[] listResources();
36 * Returns the name of this library.
38 * @return The library name.
45 * Returns the file system path if it is known and valid.
47 * @return The file system path this uses on the disk, this will be
48 * {@code null} if not valid.
55 * Opens the specified resource as a stream.
57 * @param __rc The name of the resource to open.
58 * @return The stream to the resource data or {@code null} if it is not
60 * @throws IOException On read errors.
61 * @throws NullPointerException On null arguments.
65 InputStream
resourceAsStream(String __rc
)
66 throws IOException
, NullPointerException
;