Package io.aeon.experiment.shape
Class HAtomReference
java.lang.Object
io.aeon.experiment.shape.HAtomReference
- All Implemented Interfaces:
io.horizon.specification.modeler.HReference
## Reference Calculation
### 1. Intro
Reference Calculation based on configuration in each attribute, `serviceReference` field.
### 2. Dao Mode
Here are three dao mode in MetaReference
1. Dynamic Dao:
HDao, based on `M_MODEL` definition.
2. Static Dao: directly mapped to single table.
3. Static Dao with Join: mapped to more than on table.
### 3. Dao Map
Here are following hash map rules to store component references:
1. Each `key = value` pair refer to `source = RQuote`.
2. `references` stored `source = RQuote` hash map.
3. For 「Static」 mode, each RQuote stored `condition = RDao`.
The example is as following:
```
//
source1: res.employee ( type = io.vertx.up.experiment.reference.RQuote )
conditionA = RDao |-- ( type = io.vertx.up.experiment.reference.RDao )
-- supportAName
-- supportGroup
-- supportSection
conditionB = RDao |-- ( type = io.vertx.up.experiment.reference.RDao )
-- supportBName
source2: rl.device.relation ( type = io.vertx.up.experiment.reference.RQuote )
conditionC = AoDao |-- ( type = io.vertx.up.experiment.reference.RDao )
-- up
conditionD = AoDao |-- ( type = io.vertx.up.experiment.reference.RDao )
-- down
//
```
> `conditionX` could be calculated by `key` ( include "" default value )
### 4. Result Map
Here are following hash map rules to store component result:
1. Each `key = value` pair refer to `field = RResult`.
2. `result` stored `source = RResult` hash map and refer to `RDao`.
The example is as following:
```
//
( type = io.vertx.up.experiment.reference.RResult )
supportAName = RResult
supportBName = RResult
supportGroup = RResult
supportSection = RResult
up = RResult
down = RResult
//
```- Author:
- Lang
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final io.horizon.atom.app.KAppprotected final io.horizon.uca.cache.Cc<String,io.aeon.experiment.reference.RDao> protected final io.horizon.uca.cache.Cc<String,io.aeon.experiment.reference.RQuery> protected final io.horizon.uca.cache.Cc<String,io.aeon.experiment.reference.RQuote> The hash map to store `source =RQuote`.protected final io.horizon.uca.cache.Cc<String,io.aeon.experiment.reference.RResult> The hash map to store `field =RResult`. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidinitializeReference(io.aeon.experiment.mu.KReference input, io.horizon.specification.modeler.HAttribute hAttribute) io.aeon.experiment.mu.KReferenceConcurrentMap<String,io.aeon.experiment.reference.RQuote> refInput()ConcurrentMap<String,io.aeon.experiment.reference.RResult> ConcurrentMap<String,io.aeon.experiment.reference.RQuery> refQr()protected io.horizon.specification.modeler.HAtomprotected io.horizon.specification.modeler.HDaotoDao(io.horizon.specification.modeler.HAtom atom)
-
Field Details
-
ccDao
-
ccReference
protected final transient io.horizon.uca.cache.Cc<String,io.aeon.experiment.reference.RQuote> ccReferenceThe hash map to store `source =RQuote`. -
ccResult
protected final transient io.horizon.uca.cache.Cc<String,io.aeon.experiment.reference.RResult> ccResultThe hash map to store `field =RResult`. -
ccQuery
protected final transient io.horizon.uca.cache.Cc<String,io.aeon.experiment.reference.RQuery> ccQuery -
app
protected final transient io.horizon.atom.app.KApp app
-
-
Constructor Details
-
HAtomReference
public HAtomReference(io.horizon.atom.app.KApp app)
-
-
Method Details
-
refInput
- Specified by:
refInputin interfaceio.horizon.specification.modeler.HReference
-
refQr
- Specified by:
refQrin interfaceio.horizon.specification.modeler.HReference
-
refOutput
- Specified by:
refOutputin interfaceio.horizon.specification.modeler.HReference
-
refData
- Specified by:
refDatain interfaceio.horizon.specification.modeler.HReference
-
initializeReference
protected void initializeReference(io.aeon.experiment.mu.KReference input, io.horizon.specification.modeler.HAttribute hAttribute) -
toDao
protected io.horizon.specification.modeler.HDao toDao(io.horizon.specification.modeler.HAtom atom) -
toAtom
-