## org.apache.poi.openxml4j.opc.internal
Class MemoryPackagePart

    java.lang.Object
      org.apache.poi.openxml4j.opc.PackagePart
          org.apache.poi.openxml4j.opc.internal.MemoryPackagePart

All Implemented Interfaces:
  RelationshipSource

    public final class MemoryPackagePart

extends PackagePart

Memory version of a package part. Use to

Version:
  1.0
Author:
  Julien Chable

Field Summary
`protected byte[]` `data` Storage for the part data.
`protected int` `length` Size of data.

Fields inherited from class org.apache.poi.openxml4j.opc.PackagePart
`_container, _contentType, _partName`

Constructor Summary
`MemoryPackagePart(OPCPackage pack, PackagePartName partName, java.lang.String contentType)` Constructor.
`MemoryPackagePart(OPCPackage pack, PackagePartName partName, java.lang.String contentType, boolean loadRelationships)` Constructor.

Method Summary
`void` `clear()`
`void` `close()` Close this part : flush this part, close the input stream and output stream.
`void` `flush()` Flush the content of this part.
`protected java.io.InputStream` `getInputStreamImpl()` Abtract method that get the input stream of this part.
`protected java.io.OutputStream` `getOutputStreamImpl()` Abstract method that get the output stream of this part.
`boolean` `load(java.io.InputStream ios)` Load the content of this part.
`boolean` `save(java.io.OutputStream os)` Save the content of this part and the associated relationships part (if this part own at least one relationship) into the specified output stream.

Methods inherited from class org.apache.poi.openxml4j.opc.PackagePart

`addExternalRelationship, addExternalRelationship, addRelationship, addRelationship, addRelationship, addRelationship, clearRelationships, getContentType, getInputStream, getOutputStream, getPackage, getPartName, getRelatedPart, getRelationship, getRelationships, getRelationshipsByType, hasRelationships, isDeleted, isRelationshipExists, isRelationshipPart, removeRelationship, setContentType, setDeleted, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### data

    protected byte[] data

  Storage for the part data.

### length

    protected int length

  Size of data.

Constructor Detail

### MemoryPackagePart

    public MemoryPackagePart(OPCPackage pack,
                             PackagePartName partName,
                             java.lang.String contentType)
                      throws InvalidFormatException

  Constructor.

  Parameters:
    `pack` - The owner package.
    `partName` - The part name.
    `contentType` - The content type.
  Throws:
    `InvalidFormatException` - If the specified URI is not OPC compliant.

### MemoryPackagePart

    public MemoryPackagePart(OPCPackage pack,
                             PackagePartName partName,
                             java.lang.String contentType,
                             boolean loadRelationships)
                      throws InvalidFormatException

  Constructor.

  Parameters:
    `pack` - The owner package.
    `partName` - The part name.
    `contentType` - The content type.
    `loadRelationships` - Specify if the relationships will be loaded.
  Throws:
    `InvalidFormatException` - If the specified URI is not OPC compliant.

Method Detail

### getInputStreamImpl

    protected java.io.InputStream getInputStreamImpl()

  Description copied from class: `PackagePart`
  Abtract method that get the input stream of this part.

  Specified by:
    `getInputStreamImpl` in class `PackagePart`

### getOutputStreamImpl

    protected java.io.OutputStream getOutputStreamImpl()

  Description copied from class: `PackagePart`
  Abstract method that get the output stream of this part.

  Specified by:
    `getOutputStreamImpl` in class `PackagePart`

### clear

    public void clear()

### save

    public boolean save(java.io.OutputStream os)
                 throws OpenXML4JException

  Description copied from class: `PackagePart`
  Save the content of this part and the associated relationships part (if this part own at least one relationship) into the specified output stream.

  Specified by:
    `save` in class `PackagePart`
  Parameters:
    `os` - Output stream to save this part.
  Throws:
    `OpenXML4JException` - If any exception occur.

### load

    public boolean load(java.io.InputStream ios)
                 throws InvalidFormatException

  Description copied from class: `PackagePart`
  Load the content of this part.

  Specified by:
    `load` in class `PackagePart`
  Parameters:
    `ios` - The input stream of the content to load.
  Returns:
    true if the content has been successfully loaded, else false.
  Throws:
    `InvalidFormatException` - Throws if the content format is invalid.

### close

    public void close()

  Description copied from class: `PackagePart`
  Close this part : flush this part, close the input stream and output stream. After this method call, the part must be available for packaging.

  Specified by:
    `close` in class `PackagePart`

### flush

    public void flush()

  Description copied from class: `PackagePart`
  Flush the content of this part. If the input stream and/or output stream as in a waiting state to read or write, the must to empty their respective buffer.

  Specified by:
    `flush` in class `PackagePart`

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.