Package org.eclipse.emf.cdo.server

## Class CDOServerExporter<OUT>

- java.lang.Object
- - org.eclipse.emf.cdo.server.CDOServerExporter<OUT>

- Direct Known Subclasses:
    `CDOServerExporter.Binary`, `CDOServerExporter.XML`

      public abstract class CDOServerExporter<OUT>
      extends java.lang.Object

  Exports the complete contents of a `repository` in a format suitable for `imports` into new repositories.

  Subtypes specify the actual exchange format.

  Since:
    4.0
  Author:
    Eike Stepper

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `CDOServerExporter.Binary` |
    `static interface` | `CDOServerExporter.BinaryConstants` | Binary constants being used by both `exporters` and `importers`.
    `static class` | `CDOServerExporter.Statistics` |
    `static class` | `CDOServerExporter.XML` | An `exporter` that creates XML output suitable to be interpreted by an `XML importer`.
    `static interface` | `CDOServerExporter.XMLConstants` | XML constants being used by both `exporters` and `importers`.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CDOServerExporter​(IRepository repository)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract OUT` | `createOutput​(java.io.OutputStream out)` |
    `protected abstract void` | `endPackageUnit​(OUT out)` |
    `protected void` | `exportAll​(OUT out)` |
    `protected void` | `exportBranch​(OUT out, CDOBranch branch)` |
    `protected void` | `exportBranches​(OUT out)` |
    `protected abstract void` | `exportCommit​(OUT out, CDOCommitInfo commitInfo)` |
    `protected void` | `exportCommits​(OUT out)` |
    `protected void` | `exportLobs​(OUT out)` |
    `protected abstract void` | `exportPackageInfo​(OUT out, java.lang.String packageURI)` |
    `protected void` | `exportPackages​(OUT out)` |
    `void` | `exportRepository​(java.io.OutputStream out)` |
    `protected abstract void` | `exportRevision​(OUT out, CDORevision revision)` |
    `protected void` | `exportRevisions​(OUT out, CDOBranch branch)` |
    `java.lang.String` | `getBranchPath()` |
    `IRepository` | `getRepository()` |
    `CDOServerExporter.Statistics` | `getStatistics()` |
    `long` | `getTimeStamp()` |
    `boolean` | `isExportSystemPackages()` |
    `void` | `setBranchPath​(java.lang.String branchPath)` |
    `void` | `setExportSystemPackages​(boolean exportSystemPackages)` |
    `void` | `setTimeStamp​(long timeStamp)` |
    `protected abstract java.io.OutputStream` | `startBlob​(OUT out, byte[] id, long size)` |
    `protected abstract java.io.Writer` | `startClob​(OUT out, byte[] id, long size)` |
    `protected abstract void` | `startPackageUnit​(OUT out, java.lang.String id, CDOPackageUnit.Type type, long time, java.lang.String data)` |

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### CDOServerExporter

          public CDOServerExporter​(IRepository repository)

  - ### Method Detail

    - #### getRepository

          public final IRepository getRepository()

    - #### getStatistics

          public CDOServerExporter.Statistics getStatistics()

      Since:
        4.8

    - #### isExportSystemPackages

          public boolean isExportSystemPackages()

      Since:
        4.7

    - #### setExportSystemPackages

          public void setExportSystemPackages​(boolean exportSystemPackages)

      Since:
        4.7

    - #### getBranchPath

          public java.lang.String getBranchPath()

      Since:
        4.8

    - #### setBranchPath

          public void setBranchPath​(java.lang.String branchPath)

      Since:
        4.8

    - #### getTimeStamp

          public long getTimeStamp()

      Since:
        4.8

    - #### setTimeStamp

          public void setTimeStamp​(long timeStamp)

      Since:
        4.8

    - #### exportRepository

          public final void exportRepository​(java.io.OutputStream out)
                                      throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### createOutput

          protected abstract OUT createOutput​(java.io.OutputStream out)
                                       throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportAll

          protected void exportAll​(OUT out)
                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportPackages

          protected void exportPackages​(OUT out)
                                 throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### startPackageUnit

          protected abstract void startPackageUnit​(OUT out,
                                                   java.lang.String id,
                                                   CDOPackageUnit.Type type,
                                                   long time,
                                                   java.lang.String data)
                                            throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### endPackageUnit

          protected abstract void endPackageUnit​(OUT out)
                                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportPackageInfo

          protected abstract void exportPackageInfo​(OUT out,
                                                    java.lang.String packageURI)
                                             throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportBranches

          protected void exportBranches​(OUT out)
                                 throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportBranch

          protected void exportBranch​(OUT out,
                                      CDOBranch branch)
                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportRevisions

          protected void exportRevisions​(OUT out,
                                         CDOBranch branch)
                                  throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportRevision

          protected abstract void exportRevision​(OUT out,
                                                 CDORevision revision)
                                          throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportLobs

          protected void exportLobs​(OUT out)
                             throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### startBlob

          protected abstract java.io.OutputStream startBlob​(OUT out,
                                                            byte[] id,
                                                            long size)
                                                     throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### startClob

          protected abstract java.io.Writer startClob​(OUT out,
                                                      byte[] id,
                                                      long size)
                                               throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportCommits

          protected void exportCommits​(OUT out)
                                throws java.lang.Exception

      Throws:
        `java.lang.Exception`

    - #### exportCommit

          protected abstract void exportCommit​(OUT out,
                                               CDOCommitInfo commitInfo)
                                        throws java.lang.Exception

      Throws:
        `java.lang.Exception`