processing.app

## Class Library

- Object
- - Contribution
  - - LocalContribution
    - - Library

-     public class Library
      extends LocalContribution

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class Contribution

      `Contribution.Filter`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `propertiesFileName`

    - ### Fields inherited from class LocalContribution

      `DELETION_FLAG, RESTART_FLAG, UPDATE_FLAGGED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Library(File folder)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPackageList(Map<String,List<Library>> importToLibraryTable)` Add the packages provided by this library to the master list that maps imports to specific libraries.
    `static List<File>` | `discover(File folder)`
    `File[]` | `getAndroidExports()`
    `File[]` | `getAppletExports()` Applet exports don't go by platform, since by their nature applets are meant to be cross-platform.
    `String[]` | `getApplicationExportList(int platform, String variant)` Returns the necessary exports for the specified platform.
    `File[]` | `getApplicationExports(int platform, String variant)`
    `String` | `getClassPath()`
    `File` | `getExamplesFolder()`
    `String` | `getGroup()`
    `String` | `getJarPath()`
    `String` | `getLibraryPath()`
    `String` | `getNativePath()`
    `String` | `getPath()`
    `File` | `getReferenceIndexFile()` Returns the object stored in the referenceFile field, which contains an instance of the file object representing the index file of the reference
    `ContributionType` | `getType()`
    `boolean` | `hasExamples()`
    `boolean` | `hasMultipleArch(int platform)`
    `static boolean` | `hasMultipleArch(int platform, List<Library> libraries)`
    `boolean` | `hasReference()` Tests whether the reference's index file indicated by referenceFile exists.
    `static List<Library>` | `list(File folder)`
    `static Library` | `load(File folder)`
    `boolean` | `supportsArch(int platform, String variant)`

    - ### Methods inherited from class LocalContribution

      `getFolder, getId, getImports, getLatestVersion, initLoader, isInstalled`

    - ### Methods inherited from class Contribution

      `getAuthorList, getLastUpdated, getMaxRevision, getMinRevision, getName, getParagraph, getPrettyVersion, getSentence, getTypeName, getUrl, getVersion, isCompatible, isFoundation, loadProperties, loadProperties`

    - ### Methods inherited from class Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### propertiesFileName

          public static final String propertiesFileName

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Library

          public Library(File folder)

  - ### Method Detail

    - #### load

          public static Library load(File folder)

    - #### addPackageList

          public void addPackageList(Map<String,List<Library>> importToLibraryTable)

      Add the packages provided by this library to the master list that maps imports to specific libraries.
      Parameters:
        `importToLibraryTable` - mapping from package names to Library objects

    - #### hasExamples

          public boolean hasExamples()

    - #### getExamplesFolder

          public File getExamplesFolder()

    - #### getGroup

          public String getGroup()

    - #### getPath

          public String getPath()

    - #### getLibraryPath

          public String getLibraryPath()

    - #### getJarPath

          public String getJarPath()

    - #### getClassPath

          public String getClassPath()

    - #### getNativePath

          public String getNativePath()

    - #### getAppletExports

          public File[] getAppletExports()

      Applet exports don't go by platform, since by their nature applets are meant to be cross-platform. Technically, you could have a situation where you want to export applet code for different platforms, but it's too obscure a case that we're not interested in supporting it.

    - #### getApplicationExports

          public File[] getApplicationExports(int platform,
                                              String variant)

    - #### getApplicationExportList

          public String[] getApplicationExportList(int platform,
                                                   String variant)

      Returns the necessary exports for the specified platform. If no 32 or 64-bit version of the exports exists, it returns the version that doesn't specify bit depth.

    - #### getAndroidExports

          public File[] getAndroidExports()

    - #### hasMultipleArch

          public boolean hasMultipleArch(int platform)

    - #### supportsArch

          public boolean supportsArch(int platform,
                                      String variant)

    - #### hasMultipleArch

          public static boolean hasMultipleArch(int platform,
                                                List<Library> libraries)

    - #### discover

          public static List<File> discover(File folder)

    - #### list

          public static List<Library> list(File folder)

    - #### getType

          public ContributionType getType()

      Specified by:
        `getType` in class `Contribution`

    - #### getReferenceIndexFile

          public File getReferenceIndexFile()

      Returns the object stored in the referenceFile field, which contains an instance of the file object representing the index file of the reference
      Returns:
        referenceFile

    - #### hasReference

          public boolean hasReference()

      Tests whether the reference's index file indicated by referenceFile exists.
      Returns:
        true if and only if the file denoted by referenceFile exists; false otherwise.