Changed license to Creative Commons Zero (CC0).
[sixth-data.git] / src / main / java / eu / svjatoslav / sixth / data / model / InformationUnit.java
1 /*
2  * Sixth Data. Author: Svjatoslav Agejenko. 
3  * This project is released under Creative Commons Zero (CC0) license.
4  *
5 */
6
7 package eu.svjatoslav.sixth.data.model;
8
9 public interface InformationUnit {
10
11         /*
12      * Mobile. Can be shared and can move accross cores.
13          */
14
15     /*
16      * 0 integer
17      *
18      * 1 text
19      *
20      * 2 collection Can have any number of dimensions. Infinite in every
21      * dimension. Every dimension behaves similarly to a column in a table.
22      *
23      * Could be used as a stack FILO Could be used as a pipe FIFO
24      *
25      * List would correspond to 1 dimensional collection. Dict would correspond
26      * to 2 dimensional collection. Entries could be easilly appended, inserted
27      * and removed.
28      *
29      * All dimensions are indexed. It is possible to quickly retrieve any
30      * element(s) by querying against any dimensions.
31      *
32      * Queries can be geometrical too.
33      *
34      * Every dimension could be inclusive or exclusive. Inclusive dimension
35      * allows multiple same values in the same location simultaneously.
36      * Exclusive dimension allows only one value at the location.
37      *
38      * Attempt to store new value at the occupied location would overwrite the
39      * previous.
40      *
41      * Exclusive dimensions could be grouped. This will guarantee unique
42      * combination within group.
43      *
44      * Every dimension could have undefined or fixed type.
45      *
46      * Classes are multidimensional collections. Instances of classes are
47      * collection entries.
48      *
49      * 3 function
50      *
51      * list of input parameters list of output parameters
52      *
53      * 4 byte array
54      *
55      * 5 boolean
56      *
57      * 6 float
58      *
59      * 7 class
60      *
61      * 8 class instance
62      */
63     int getType();
64
65 }