processing.app

## Class Library

- Object
- - Contribution
  - - LocalContribution
    - - Library

-     public class Library
      extends LocalContribution

- - ### Field Summary

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

    - ### Fields inherited from class LocalContribution

      `DELETION_FLAG, RESTART_FLAG`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Library(File folder)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPackageList(HashMap<String,ArrayList<Library>> importToLibraryTable)` Add the packages provided by this library to the master list that maps imports to specific libraries.
    `static ArrayList<File>` | `discover(File folder)`
    `static void` | `discover(File folder, ArrayList<File> libraries)`
    `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, int bits)` Returns the necessary exports for the specified platform.
    `File[]` | `getApplicationExports(int platform, int bits)`
    `String` | `getClassPath()`
    `File` | `getExamplesFolder()`
    `String` | `getGroup()`
    `String` | `getJarPath()`
    `String` | `getLibraryPath()`
    `String` | `getNativePath()`
    `String` | `getPath()`
    `ContributionType` | `getType()`
    `boolean` | `hasExamples()`
    `boolean` | `hasMultipleArch(int platform)`
    `static boolean` | `hasMultipleArch(int platform, ArrayList<Library> libraries)`
    `static Library` | `load(File folder)`
    `boolean` | `supportsArch(int platform, int bits)`

    - ### Methods inherited from class LocalContribution

      `getFolder, getId, getLatestVersion, initLoader, isInstalled`

    - ### Methods inherited from class Contribution

      `getAuthorList, getName, getParagraph, getPrettyVersion, getSentence, getTypeName, getUrl, getVersion`

    - ### 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(HashMap<String,ArrayList<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,
                                     int bits)

    - #### getApplicationExportList

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

      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,
                             int bits)

    - #### hasMultipleArch

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

    - #### discover

          public static ArrayList<File> discover(File folder)

    - #### discover

          public static void discover(File folder,
                      ArrayList<File> libraries)

    - #### getType

          public ContributionType getType()

      Specified by:
        `getType` in class `Contribution`