public abstract class NameReference extends Object
All characters are legal.
All name references use a Unix ‘like’ name referencing mechanism across the SpaceSystem Tree (e.g., SimpleSat/Bus/EPDS/BatteryOne/Voltage) where the '/', ‘..’ and ‘.’ are used to navigate through the hierarchy. The use of an unqualified name will search for an item in the current SpaceSystem first, then if none is found, in progressively higher SpaceSystems. A SpaceSystem is a name space (i.e., a named type declared in MetaCommandData is also declared in TelemetryMetaData - and vice versa).
This is used only while reading the database, then all the references are resolved and we use Java references to real objects
The ResolvedAction.resolved will be called once the reference is resolved.
| Modifier and Type | Class and Description |
|---|---|
static interface |
NameReference.ResolvedAction |
static class |
NameReference.Type |
| Modifier and Type | Field and Description |
|---|---|
protected String |
ref |
protected NameReference.Type |
type |
| Constructor and Description |
|---|
NameReference(String ref,
NameReference.Type type) |
| Modifier and Type | Method and Description |
|---|---|
abstract NameReference |
addResolvedAction(NameReference.ResolvedAction action)
Adds an action to the list to be executed when the reference is resolved and returns this.
|
String |
getReference() |
abstract CompletableFuture<NameDescription> |
getResolvedFuture()
returns a future that is called when the reference is resolved
|
NameReference.Type |
getType() |
abstract boolean |
isResolved() |
String |
toString() |
abstract boolean |
tryResolve(NameDescription nd)
Execute all the actions (if not already executed) and return true if the reference has been resolved.
|
protected final String ref
protected final NameReference.Type type
public NameReference(String ref, NameReference.Type type)
public abstract boolean tryResolve(NameDescription nd)
nd - public abstract NameReference addResolvedAction(NameReference.ResolvedAction action)
action - public String getReference()
public NameReference.Type getType()
public abstract boolean isResolved()
public abstract CompletableFuture<NameDescription> getResolvedFuture()
Copyright © 2020 Space Applications Services. All rights reserved.