# Class: com.pnfsoftware.jeb.core.dao.impl.JDB2Manager

JEB database file \("\*.jdb2"\) manager.

## Constructor: JDB2Manager
- parameter: `basedir`, type: `java.lang.String`

Description: Create a JDB2 manager rooted at a base directory.
parameter: basedir: base directory where JDB2 files are stored

## Static Field: EXTENSION
Type: `java.lang.String`

Constant value: `.jdb2`
Description: JEB database file extension with the Leading dot. The case matters.

## Static Field: FLAG_COMPRESS
Type: `int`

Constant value: `1`
Description: This flags is used to specify that the record should be compressed

## Static Field: FLAG_CRCCHECK
Type: `int`

Constant value: `4`
Description: The record should be accompanied by a CRC32 value to verify its basic integrity

## Static Field: FLAG_ENCRYPT
Type: `int`

Constant value: `2`
Description: This flags is used to specify that the record should be encrypted

## Static Field: FLAG_NONE
Type: `int`

Constant value: `0`
Description: No flag

## Static Field: MARKER
Type: `int`

Constant value: `843203658`
Description: File header marker, little\-endian: `JDB2`

## Static Field: TYPE_ARTIFACTS
Type: `int`

Constant value: `5526081`
Description: Artifacts collections, little\-endian: `ART`

## Static Field: TYPE_PROJECT
Type: `int`

Constant value: `4870736`
Description: Project block marker, little\-endian: `PRJ`

## Static Field: TYPE_PROJECT_CONFIGURATION
Type: `int`

Constant value: `4411472`
Description: Persisted Project Configuration: `PPC`

## Static Field: TYPE_PROJECT_METADATA
Type: `int`

Constant value: `5066832`
Description: Persisted Project Metadata: `PPM`

## Static Field: TYPE_QSTATES
Type: `int`

Constant value: `4932433`
Description: [Quick\-states](IQuickStateObject) block marker, little\-endian: `QCK`

## Method: deleteFile
- parameter: `key`, type: `java.lang.String`
- return type: `boolean`


## Method: getDatabaseReader
- parameter: `key`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.dao.IFileDatabaseReader`


## Method: getDatabaseWriter
- parameter: `key`, type: `java.lang.String`
- return type: `com.pnfsoftware.jeb.core.dao.IFileDatabaseWriter`


## Method: getFileObject
- parameter: `key`, type: `java.lang.String`
- return type: `java.io.File`


## Method: getFileReader
- parameter: `key`, type: `java.lang.String`
- return type: `java.io.InputStream`


## Method: getFileWriter
- parameter: `key`, type: `java.lang.String`
- return type: `java.io.OutputStream`


## Method: hasFile
- parameter: `key`, type: `java.lang.String`
- return type: `boolean`


## Method: loadFile
- parameter: `key`, type: `java.lang.String`
- return type: `byte[]`

Description: DO NOT USE\! PROJECT record only, old format\!

## Method: saveFile
- parameter: `key`, type: `java.lang.String`
- parameter: `data`, type: `byte[]`
- return type: `boolean`

Description: DO NOT USE\! PROJECT record only, old format\!

## Static Method: projectTypeToName
- parameter: `type`, type: `int`
- return type: `java.lang.String`

Description: Convert a well\-known JDB2 record type to a readable symbolic name.
parameter: type: record type
return: a symbolic name for known record types, or a hexadecimal representation otherwise

