| 32 | Old design |
| 33 | |
| 34 | * MatrixInterface: Interface class with function definitions and all documentation. |
| 35 | * Matrix: Abstract class with most functions implemented. |
| 36 | * xxxMatrix: Regular class which is a flavour of Matrix. Functions implemented here work together with the Abstract functions but are specific for this flavour. |
| 37 | |
| 38 | {{{ |
| 39 | #!graphviz |
| 40 | digraph components |
| 41 | { |
| 42 | MatrixInterface -> Matrix |
| 43 | Matrix -> DatabaseMatrix |
| 44 | Matrix -> BinaryMatrix |
| 45 | Matrix -> FileMatrix |
| 46 | Matrix -> MemoryMatrix |
| 47 | } |
| 48 | }}} |
| 49 | |
| 50 | New design: |
| 51 | |
| 52 | * ReadOnlyMatrix: Interface class of the simplest Matrix, so no dependancies and only getter functions. |
| 53 | * EntityMatrix: Interface class of typed ReadOnlyMatrix, uses org.molgenis.util.Entity to type its rows/colums. |
| 54 | * EditableMatrix: Interface class of read/writeable Matrix, has add and remove functions for manipulation. |
| 55 | * MatrixInterface: XGAP specific stuff and complex functions?? |
| 56 | * AbstractMatrix: Other complex functions?? |
| 57 | * AbstractEntityMatrix: Integrates functionality of high level functions with Entities?? |
| 58 | * xxxMatrix: Regular class which is a flavour of Matrix. Functions implemented here work together with the Abstract functions but are specific for this flavour. |
| 59 | |
| 60 | Current design in xgap_1_4_distro_hax: |
| 61 | |
| 62 | {{{ |
| 63 | #!graphviz |
| 64 | digraph components |
| 65 | { |
| 66 | ReadonlyMatrix -> EditableMatrix |
| 67 | ReadonlyMatrix -> EntityMatrix |
| 68 | EditableMatrix -> MatrixInterface |
| 69 | ReadonlyMatrix -> AbstractMatrix |
| 70 | AbstractMatrix -> AbstractEntityMatrix |
| 71 | EntityMatrix -> AbstractEntityMatrix |
| 72 | AbstractEntityMatrix -> DatabaseMatrix |
| 73 | AbstractEntityMatrix -> BinaryMatrix |
| 74 | AbstractEntityMatrix -> FileMatrix |
| 75 | AbstractEntityMatrix -> MemoryMatrix |
| 76 | } |
| 77 | }}} |
| 78 | |
| 79 | Corrected new design?? |
| 80 | |
| 81 | {{{ |
| 82 | #!graphviz |
| 83 | digraph components |
| 84 | { |
| 85 | ReadonlyMatrix -> EditableMatrix |
| 86 | ReadonlyMatrix -> EntityMatrix |
| 87 | EditableMatrix -> MatrixInterface |
| 88 | EntityMatrix -> MatrixInterface |
| 89 | ReadonlyMatrix -> AbstractMatrix |
| 90 | AbstractMatrix -> AbstractEntityMatrix |
| 91 | EntityMatrix -> AbstractEntityMatrix |
| 92 | AbstractEntityMatrix -> DatabaseMatrix |
| 93 | AbstractEntityMatrix -> BinaryMatrix |
| 94 | AbstractEntityMatrix -> FileMatrix |
| 95 | AbstractEntityMatrix -> MemoryMatrix |
| 96 | EditableMatrix -> MemoryMatrix |
| 97 | EditableMatrix -> DatabaseMatrix |
| 98 | MatrixInterface -> DatabaseMatrix |
| 99 | MatrixInterface -> BinaryMatrix |
| 100 | MatrixInterface -> FileMatrix |
| 101 | MatrixInterface -> MemoryMatrix |
| 102 | } |
| 103 | }}} |
| 104 | |
| 105 | |
| 106 | |