View on GitHub

Whiteflag Java Library

Implementation of the Whiteflag Protocol for Java development

WFJL Package Structure

Go back to the WFJL Documentation Home or visit the detailed WFJL Javadoc API Reference

Overview

As any Java software, the WFJL is organised in packages. Packages help to structure the software by grouping related classes. Packages also provide access protection and a name space. The packages structure corresponds with the source code directory structure under src/main/java/.

The WFJL software consists of the following Java packages:

Package Purpose
org.whiteflagprotocol.java Main Whiteflag protocol interface
org.whiteflagprotocol.java.core Whiteflag core functionality
org.whiteflagprotocol.java.crypto Whiteflag cryptographic functions
org.whiteflagprotocol.java.util Whiteflag utilities

Description

The org.whiteflagprotocol.java package is the main package providing the external programming interface for software using this library. It defines the classes representing Whitelag messages and accounts.

The org.whiteflagprotocol.java.core package contains all implementation independent core functionality as defined in the Whiteflag specification, such as the Whiteflag message definitions. This seperates the core protocol functionality from implementation-specific design decisions as much as possible.

The org.whiteflagprotocol.java.crypto package contains all implementation independent cryptogrpahic functionality as defined in the Whiteflag specification, such as encryption, key derivation and negatiation, and authentication. Seperating these critical security functions makes them better inspectable, testable and maintainable.

The org.whiteflagprotocol.java.util package contains utilities used by the main protocol classes, but that are not part of the external interface and also not part of the protocol core, e.g. data conversions, such as conversion of Whiteflag messages to and from JSON.