sam.core
Class ArchiveLayout

java.lang.Object
  |
  +--sam.core.ArchiveLayout

public class ArchiveLayout
extends java.lang.Object

This class defines the internal Jar archive layout.

See Also:
ArchiveLayout.Resource

Nested Class Summary
static class ArchiveLayout.LayoutVersion
           
static class ArchiveLayout.Resource
          Specific resources in the jar archive.
static class ArchiveLayout.Runtime
           
 
Field Summary
static ArchiveLayout.Resource BLOCK_SIZE
          The block size used @see sam.Packer
static ArchiveLayout.Resource CATALOG
          The (int:"fileLength",int:"date",utf:"fileName")* binary list of all archived files
static ArchiveLayout.Resource CIPHERS
          The ordered list of all ciphers, in plain ASCII with new line as delimiter.
static ArchiveLayout.Resource COMMENT
          An optionnal comment associated with the archive, in plain utf.
static ArchiveLayout.Resource DATA
          The compressed raw data of all orignal files first appended together and then filtered through the ciphers, and randomly mixed with random-sized randomly unbalanced data chunks.
static char ENTRY_PATH_SEPARATOR
          The path separator to be used in Entry
static ArchiveLayout.Resource GROUP
          The group of the user creating the archive
static ArchiveLayout.Resource IMPORTED_ARCHIVE
          The optionnal imported archive
static ArchiveLayout.LayoutVersion LAYOUT_VERSION
           
static int LAYOUT_VERSION_NUMBER
          SAM file format version, currently 0.90 (encoded as the 90 integer)
static java.util.jar.Manifest MANIFEST
          Manifest used for archive.
static ArchiveLayout.Resource MIXER
          The (long:"garbageBytes",long:"dataBytes")* Mixing trace
static ArchiveLayout.Resource PACKER
          The plain text name of the packer used
static ArchiveLayout.Runtime RUNTIME
          To be included runtime, source and documentation files
static ArchiveLayout.Resource SAM_VERSION
          The long version number of the archive format
static ArchiveLayout.Resource SERIAL_NUMBER
          The serial number of this archive
static ArchiveLayout.Resource TRACKER
          The plain text name of the tracker used
static ArchiveLayout.Resource USER
          The user creating the archive
 
Method Summary
static sam.entry.Enumerator loadFullCatalog(java.io.File archive)
          Loads the full catalog of specified archive, including files contained in imported archives.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ENTRY_PATH_SEPARATOR

public static final char ENTRY_PATH_SEPARATOR
The path separator to be used in Entry

See Also:
Constant Field Values

LAYOUT_VERSION_NUMBER

public static final int LAYOUT_VERSION_NUMBER
SAM file format version, currently 0.90 (encoded as the 90 integer)

See Also:
Constant Field Values

MANIFEST

public static final java.util.jar.Manifest MANIFEST
Manifest used for archive.

The most important is the Main-Class: Setting.Environment.BOOT_CLASS entry.

See Also:
Setting.Environment.BOOT_CLASS

SAM_VERSION

public static final ArchiveLayout.Resource SAM_VERSION
The long version number of the archive format


IMPORTED_ARCHIVE

public static final ArchiveLayout.Resource IMPORTED_ARCHIVE
The optionnal imported archive


CIPHERS

public static final ArchiveLayout.Resource CIPHERS
The ordered list of all ciphers, in plain ASCII with new line as delimiter.


PACKER

public static final ArchiveLayout.Resource PACKER
The plain text name of the packer used


TRACKER

public static final ArchiveLayout.Resource TRACKER
The plain text name of the tracker used


BLOCK_SIZE

public static final ArchiveLayout.Resource BLOCK_SIZE
The block size used @see sam.Packer


COMMENT

public static final ArchiveLayout.Resource COMMENT
An optionnal comment associated with the archive, in plain utf.


CATALOG

public static final ArchiveLayout.Resource CATALOG
The (int:"fileLength",int:"date",utf:"fileName")* binary list of all archived files


MIXER

public static final ArchiveLayout.Resource MIXER
The (long:"garbageBytes",long:"dataBytes")* Mixing trace


SERIAL_NUMBER

public static final ArchiveLayout.Resource SERIAL_NUMBER
The serial number of this archive


USER

public static final ArchiveLayout.Resource USER
The user creating the archive


GROUP

public static final ArchiveLayout.Resource GROUP
The group of the user creating the archive


DATA

public static final ArchiveLayout.Resource DATA
The compressed raw data of all orignal files first appended together and then filtered through the ciphers, and randomly mixed with random-sized randomly unbalanced data chunks.


LAYOUT_VERSION

public static final ArchiveLayout.LayoutVersion LAYOUT_VERSION

RUNTIME

public static final ArchiveLayout.Runtime RUNTIME
To be included runtime, source and documentation files

Method Detail

loadFullCatalog

public static sam.entry.Enumerator loadFullCatalog(java.io.File archive)
Loads the full catalog of specified archive, including files contained in imported archives.

Note that not all of these entries are actually stored in this archive, as some might be stored in such a previously imported archive.

However this is the list of all entries of this archive if it does not import any other one.