[Skip to content]
TRIEMAX Software
You are here: Home > Products > Jalopy >

## 2.5. Repository

Figure 2.28. Repository settings page

For certain features, Jalopy needs to know about the available types in a project. Jalopy stores such information in a simple database, called the type repository. Unlike all other functionality which works only on the source code level, the type repository inspects the binary files of a project and extracts the needed information. Therefore it is a necessity that the repository is correctly set up in order to be able to process all needed files.

The type repository is currently only necessary for the Ant, Console and Maven Plug-ins and used for features that require type resolution like the import optimization.

Since 1.0.2

### 2.5.1. Searching the repository

To query the type repository for a specific type or package name, enter the information in the text field and press the Search button. This is mostly useful only during developing of the application and might never be used by end users.

You can either search for a single type name (e.g. "String"), a qualified type name (e.g. "java.lang.String") or a package name (e.g. "java.lang").

### 2.5.2. Displaying info about the repository

To display some statistics about the type repository, press the Info button.

### 2.5.3. Adding libraries to the repository

To manually add a class library or directory to the repository, click on the Add... button, select the library to add and click Add.

This is most useful during testing but may serve as a way to enable the features that depend on the type repository services for the Plug-ins that do not currently provide automatic type repository support.

### 2.5.4. Removing the repository

To remove the type repository from disk, press the Remove button. The database will be closed if it is currently open and all stored information will be erased.

### 2.5.5. Initialization

During the initialization of the type repository all project class files are analyzed. Jalopy uses a byte code reader (ASM) and attempts to gather both the class name and all its referenced super class names for a given file. For 3rd party libraries, it can be possible that not all super classes can be loaded (i.e. are defined or even be part of the project). In most cases this should not be problematic, but it still potentially could hinder the successful execution of the services that rely on the type repository later on. Therefore, users can control the behavior of the repository here and specify how problems should be handled.

##### Log errors during loading

When enabled, Jalopy logs a warning when a class could not be fully analyzed. By default, this option is enabled as it is recommended that you manually verify that none of the mentioned files might pose problems later on. The type repository will be initialized despite the problems. All depended features will be available.

Since 1.0.3

##### Fail on errors during loading

When enabled, the type repository will not be initialized when an error occurs. All dependend features will be disabled.

Since 1.0.3