net.corda.core.contracts

## Class Attachment.DefaultImpls

- net.corda.core.contracts.Attachment.DefaultImpls

- Enclosing interface:
    Attachment

      public static class Attachment.DefaultImpls

  An attachment is a ZIP (or an optionally signed JAR) that contains one or more files. Attachments are meant to contain public static data which can be referenced from transactions and utilised from contracts. Good examples of how attachments are meant to be used include:

  - Calendar data

  - Fixes (e.g. LIBOR)

  - Smart contract code

  - Legal documents

  - Facts generated by oracles which might be reused a lot

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `extractFile(Attachment $this, java.lang.String path, java.io.OutputStream outputTo)` Finds the named file case insensitively and copies it to the output stream.
    `static java.util.jar.JarInputStream` | `openAsJAR(Attachment $this)`

- - ### Method Detail

    - #### openAsJAR

          public static java.util.jar.JarInputStream openAsJAR(Attachment $this)

    - #### extractFile

          public static void extractFile(Attachment $this,
                                         java.lang.String path,
                                         java.io.OutputStream outputTo)

      Finds the named file case insensitively and copies it to the output stream.

      Throws:
        - if the given path doesn't exist in the attachment.