aboutsummaryrefslogtreecommitdiff
path: root/java/com/xagasoft/gats/package-info.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/xagasoft/gats/package-info.java')
-rw-r--r--java/com/xagasoft/gats/package-info.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/java/com/xagasoft/gats/package-info.java b/java/com/xagasoft/gats/package-info.java
new file mode 100644
index 0000000..9f4824e
--- /dev/null
+++ b/java/com/xagasoft/gats/package-info.java
@@ -0,0 +1,44 @@
1/**
2 * The Generalized Agile Transport System.
3 *
4 * This package contains interfaces for working with GATS. GATS is used to
5 * serialize data structures to and from storage as well as over the network.
6 * <p>
7 * GATS has a number of advantages over other systems for doing serialization.
8 * <ul>
9 * <li>GATS is a binary storage system, so values are stored accurately
10 * and compactly.</li>
11 * <li>GATS is arbitrary precision. There is no upper bound on any integers
12 * or floating point values stored in gats.</li>
13 * <li>GATS is platform, language, and endiness agnostic. Data transmitted or
14 * stored using GATS can be received, read, and used on any platform
15 * without worries. The binary format of GATS does <b>not</b> change
16 * dependant on the archetecture.</li>
17 * <li>GATS gurantees no loss of precision for floating point numbers. When
18 * storing floating point numbers a binary format similar to that employed
19 * by computer hardware is used. All exceptional cases are also preserved,
20 * including +/- infinity, NaN, etc.</li>
21 * <li>GATS offers a generalized hierarchical data structure much like many
22 * textual encoding/storage systems like json, xml, yaml, etc.</li>
23 * <li>GATS is designed with efficient transmission, compression, and
24 * encryption in mind which makes it an excellent choice as the underlying
25 * format for modern protocols.</li>
26 * </ul>
27 *
28 * GATS uses a generalized data structure for storing data which
29 * supports the following data types:
30 * <ul>
31 * <li>dictionaries</li>
32 * <li>lists</li>
33 * <li>booleans</li>
34 * <li>integers</li>
35 * <li>floats</li>
36 * <li>strings</li>
37 * </ul>
38 *
39 * Please see {@link com.xagasoft.gats.GatsOutputStream} for more information
40 * about how GATS is encoded.
41 *
42 *@author Mike Buland
43 */
44package com.xagasoft.gats;