Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.birt.core.archive.compound
Class ArchiveFileV2

    java.lang.Object
      org.eclipse.birt.core.archive.compound.ArchiveFileV2

All Implemented Interfaces:
  IArchiveFile

    public class ArchiveFileV2

extends java.lang.Object
implements IArchiveFile

the archive file contains following mode:

- "r" open the file for read only.
- "rw" create the file for read/write
- "rw+" open file is open for read/write
- "rwt" create the trainsnt file, it will be removed after closing.

  Field Summary
  `static int` | `ALLOC_TABLE_BLOCK` the first block of allocation table
  `protected org.eclipse.birt.core.archive.compound.AllocTable` | `allocTbl` allocation table of the archive file
  `protected java.lang.String` | `archiveName` the archive file name.
  `protected int` | `BLOCK_SIZE`
  `protected org.eclipse.birt.core.archive.cache.FileCacheManager` | `caches` cache manager of the archive file.
  `static int` | `DEFAULT_BLOCK_SIZE` Size of a physical block, counted in bytes.
  `static int` | `DEFAULT_BUFFER_POOL_SIZE` default size of buffer pool - number of buffer blocks in buffer pool
  `protected java.lang.String` | `dependId`
  `static long` | `DOCUMENT_TAG` The magic tag of the archive file: "RPTDOC"
  `static long` | `DOCUMENT_VERSION_0` After support system id in archive file, DOCUMENT_VERSION_1 is writen into header.
  `static long` | `DOCUMENT_VERSION_1`
  `protected java.util.HashMap<java.lang.String,org.eclipse.birt.core.archive.compound.NameEntry>` | `entries` archive entries in the table
  `static int` | `ENTRY_ITEM_SIZE` the size of a entry in the entry table, counted in bytes
  `static int` | `ENTRY_TABLE_BLOCK` the first block of entry table
  `protected org.eclipse.birt.core.archive.compound.NameTable` | `entryTbl` entry table of the archive file
  `static int` | `FILE_STATUS_FINISHED` File status value: finished
  `protected org.eclipse.birt.core.archive.compound.ArchiveHeader` | `head` header status
  `static int` | `HEADER_BLOCK` the block of archive header
  `protected boolean` | `isAppend` the archive file is appended.
  `protected boolean` | `isClosed` if the file is closed.
  `protected boolean` | `isTransient` the archive file is transient.
  `protected boolean` | `isWritable` the archive file is writable.
  `static int` | `MIN_BUFFER_POOL_SIZE` Min size of buffer pool - number of buffer blocks in buffer pool
  `static java.lang.String` | `PROPERTY_DEFAULT_BLOCK_SIZE` the system property defines the block size, it should be times of 1024.
  `protected java.io.RandomAccessFile` | `rf` the physical file correspond to this compound file system
  `protected java.lang.String` | `systemId`
  `protected int` | `totalBlocks` the total blocks exits in this file
  `protected int` | `totalDiskBlocks` the total blocks exits in the disk

  Constructor Summary
  `ArchiveFileV2(java.lang.String fileName, java.io.RandomAccessFile rf, java.lang.String mode)` create the archive file.
  `ArchiveFileV2(java.lang.String fileName, java.lang.String mode)`
  `ArchiveFileV2(java.lang.String systemId, java.lang.String fileName, java.lang.String mode)`
  `ArchiveFileV2(java.lang.String systemId, java.lang.String dependId, java.lang.String fileName, java.io.RandomAccessFile rf, java.lang.String mode)` create the archive file.
  `ArchiveFileV2(java.lang.String systemId, java.lang.String dependId, java.lang.String fileName, java.lang.String mode)`

  Method Summary
  `void` | `close()` close the archive.
  `protected Block` | `createBlock()`
  `ArchiveEntry` | `createEntry(java.lang.String name)`
  `boolean` | `exists(java.lang.String name)`
  `void` | `flush()`
  `java.lang.String` | `getDependId()`
  `java.lang.String` | `getName()` get the archive name.
  `java.lang.String` | `getSystemId()`
  `long` | `getUsedCache()`
  `java.util.List` | `listEntries(java.lang.String namePattern)`
  `java.lang.Object` | `lockEntry(java.lang.String name)`
  `ArchiveEntry` | `openEntry(java.lang.String name)`
  `void` | `refresh()`
  `boolean` | `removeEntry(java.lang.String name)`
  `void` | `save()`
  `void` | `setCacheSize(long cacheSize)` set up the cache size.
  `protected void` | `unloadBlock(Block block)`
  `void` | `unlockEntry(java.lang.Object locker)`

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

  Field Detail

  ### rf

      protected java.io.RandomAccessFile rf

    the physical file correspond to this compound file system

  ### isClosed

      protected boolean isClosed

    if the file is closed.

  ### isWritable

      protected boolean isWritable

    the archive file is writable.

  ### isTransient

      protected boolean isTransient

    the archive file is transient.

  ### isAppend

      protected boolean isAppend

    the archive file is appended.

  ### archiveName

      protected java.lang.String archiveName

    the archive file name.

  ### systemId

      protected java.lang.String systemId

  ### dependId

      protected java.lang.String dependId

  ### BLOCK_SIZE

      protected int BLOCK_SIZE

  ### head

      protected org.eclipse.birt.core.archive.compound.ArchiveHeader head

    header status

  ### allocTbl

      protected org.eclipse.birt.core.archive.compound.AllocTable allocTbl

    allocation table of the archive file

  ### entryTbl

      protected org.eclipse.birt.core.archive.compound.NameTable entryTbl

    entry table of the archive file

  ### entries

      protected java.util.HashMap<java.lang.String,org.eclipse.birt.core.archive.compound.NameEntry> entries

    archive entries in the table

  ### caches

      protected org.eclipse.birt.core.archive.cache.FileCacheManager caches

    cache manager of the archive file.

  ### totalBlocks

      protected int totalBlocks

    the total blocks exits in this file

  ### totalDiskBlocks

      protected int totalDiskBlocks

    the total blocks exits in the disk

  ### DOCUMENT_TAG

      public static final long DOCUMENT_TAG

    The magic tag of the archive file: "RPTDOC"

    See Also:
      Constant Field Values

  ### DOCUMENT_VERSION_0

      public static final long DOCUMENT_VERSION_0

    After support system id in archive file, DOCUMENT_VERSION_1 is writen into header.

    See Also:
      Constant Field Values

  ### DOCUMENT_VERSION_1

      public static final long DOCUMENT_VERSION_1

  See Also:
    Constant Field Values

  ### PROPERTY_DEFAULT_BLOCK_SIZE

      public static final java.lang.String PROPERTY_DEFAULT_BLOCK_SIZE

    the system property defines the block size, it should be times of 1024.

    See Also:
      Constant Field Values

  ### DEFAULT_BLOCK_SIZE

      public static final int DEFAULT_BLOCK_SIZE

    Size of a physical block, counted in bytes.

    See Also:
      Constant Field Values

  ### HEADER_BLOCK

      public static final int HEADER_BLOCK

    the block of archive header

    See Also:
      Constant Field Values

  ### ALLOC_TABLE_BLOCK

      public static final int ALLOC_TABLE_BLOCK

    the first block of allocation table

    See Also:
      Constant Field Values

  ### ENTRY_TABLE_BLOCK

      public static final int ENTRY_TABLE_BLOCK

    the first block of entry table

    See Also:
      Constant Field Values

  ### ENTRY_ITEM_SIZE

      public static final int ENTRY_ITEM_SIZE

    the size of a entry in the entry table, counted in bytes

    See Also:
      Constant Field Values

  ### FILE_STATUS_FINISHED

      public static final int FILE_STATUS_FINISHED

    File status value: finished

    See Also:
      Constant Field Values

  ### DEFAULT_BUFFER_POOL_SIZE

      public static final int DEFAULT_BUFFER_POOL_SIZE

    default size of buffer pool - number of buffer blocks in buffer pool

    See Also:
      Constant Field Values

  ### MIN_BUFFER_POOL_SIZE

      public static final int MIN_BUFFER_POOL_SIZE

    Min size of buffer pool - number of buffer blocks in buffer pool

    See Also:
      Constant Field Values

  Constructor Detail

  ### ArchiveFileV2

      public ArchiveFileV2(java.lang.String fileName,
                           java.io.RandomAccessFile rf,
                           java.lang.String mode)
                    throws java.io.IOException

    create the archive file.

    Parameters:
      `fileName` - file name.
      `rf` - the random access file
      `mode` - open mode.
    Throws:
      `java.io.IOException`

  ### ArchiveFileV2

      public ArchiveFileV2(java.lang.String fileName,
                           java.lang.String mode)
                    throws java.io.IOException

  Throws:
    `java.io.IOException`

  ### ArchiveFileV2

      public ArchiveFileV2(java.lang.String systemId,
                           java.lang.String fileName,
                           java.lang.String mode)
                    throws java.io.IOException

  Throws:
    `java.io.IOException`

  ### ArchiveFileV2

      public ArchiveFileV2(java.lang.String systemId,
                           java.lang.String dependId,
                           java.lang.String fileName,
                           java.lang.String mode)
                    throws java.io.IOException

  Throws:
    `java.io.IOException`

  ### ArchiveFileV2

      public ArchiveFileV2(java.lang.String systemId,
                           java.lang.String dependId,
                           java.lang.String fileName,
                           java.io.RandomAccessFile rf,
                           java.lang.String mode)
                    throws java.io.IOException

    create the archive file.

    Parameters:
      `fileName` - file name.
      `mode` - open mode.
    Throws:
      `java.io.IOException`

  Method Detail

  ### setCacheSize

      public void setCacheSize(long cacheSize)

    set up the cache size. the actually cache size is round to block size.

    Specified by:
      `setCacheSize` in interface `IArchiveFile`
    Parameters:
      `cacheSize` - cache size in bytes

  ### getUsedCache

      public long getUsedCache()

    Specified by:
      `getUsedCache` in interface `IArchiveFile`

  ### getDependId

      public java.lang.String getDependId()

    Specified by:
      `getDependId` in interface `IArchiveFile`

  ### getSystemId

      public java.lang.String getSystemId()

    Specified by:
      `getSystemId` in interface `IArchiveFile`

  ### getName

      public java.lang.String getName()

    get the archive name. the archive name is the file name used to create the archive instance.

    Specified by:
      `getName` in interface `IArchiveFile`
    Returns:
      archive name.

  ### close

      public void close()
                 throws java.io.IOException

    close the archive. all changed data will be flushed into disk if the file is opened for write. the file will be removed if it is opend as transient. after close, the instance can't be used any more.

    Specified by:
      `close` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### flush

      public void flush()
                 throws java.io.IOException

    Specified by:
      `flush` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### save

      public void save()
                throws java.io.IOException

    Specified by:
      `save` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### refresh

      public void refresh()
                   throws java.io.IOException

    Specified by:
      `refresh` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### exists

      public boolean exists(java.lang.String name)

    Specified by:
      `exists` in interface `IArchiveFile`

  ### openEntry

      public ArchiveEntry openEntry(java.lang.String name)
                             throws java.io.IOException

    Specified by:
      `openEntry` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### listEntries

      public java.util.List listEntries(java.lang.String namePattern)

    Specified by:
      `listEntries` in interface `IArchiveFile`

  ### createEntry

      public ArchiveEntry createEntry(java.lang.String name)
                               throws java.io.IOException

    Specified by:
      `createEntry` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### removeEntry

      public boolean removeEntry(java.lang.String name)
                          throws java.io.IOException

    Specified by:
      `removeEntry` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### lockEntry

      public java.lang.Object lockEntry(java.lang.String name)
                                 throws java.io.IOException

    Specified by:
      `lockEntry` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### unlockEntry

      public void unlockEntry(java.lang.Object locker)
                       throws java.io.IOException

    Specified by:
      `unlockEntry` in interface `IArchiveFile`
    Throws:
      `java.io.IOException`

  ### createBlock

      protected Block createBlock()
                           throws java.io.IOException

    Throws:
      `java.io.IOException`

  ### unloadBlock

      protected void unloadBlock(Block block)
                          throws java.io.IOException

    Throws:
      `java.io.IOException`

  Overview | Package | Class | Use | Tree | Deprecated | Index | Help
  PREV CLASS NEXT CLASS | FRAMES NO FRAMES
  SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

  Copyright © 2008 Actuate Corp. All rights reserved.