public interface BrooklynObject extends Identifiable, Configurable
Modifier and Type | Interface and Description |
---|---|
static interface |
BrooklynObject.RelationSupport<T extends BrooklynObject> |
static interface |
BrooklynObject.SubscriptionSupport |
static interface |
BrooklynObject.TagSupport |
Configurable.ConfigurationSupport
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getCatalogItemId()
The catalog item ID this object was loaded from.
|
java.util.List<java.lang.String> |
getCatalogItemIdSearchPath()
An immutable list of ids of catalog items that this item depends on in some way,
with the item that directly defines it implicit, but other items it references explicit.
|
java.lang.String |
getDisplayName()
A display name; recommended to be a concise single-line description.
|
BrooklynObject.RelationSupport<?> |
relations()
Relations specify a typed, directed connection between two entities.
|
BrooklynObject.SubscriptionSupport |
subscriptions()
Subscriptions are the mechanism for receiving notifications of sensor-events (e.g.
|
BrooklynObject.TagSupport |
tags()
Tags are arbitrary objects which can be attached to an entity for subsequent reference.
|
getId
config, getConfig
java.lang.String getDisplayName()
java.lang.String getCatalogItemId()
This can be used to understand the appropriate classloading context, such as for versioning purposes, as well as meta-information such as branding (maybe you can even get an icon) and potentially things like resource lifecycle (if a software version is being sunsetted).
In some cases this may be set heuristically from context and so may not be accurate. Callers can set an explicit catalog item ID if inferencing is not correct.
This should conform to OSGi specs for symbolic_name:version
but weaker semantics are usually allowed so long as neither segment contains a :
or whitespace.
java.util.List<java.lang.String> getCatalogItemIdSearchPath()
items: - id: X - id: Y item: X - id: Z item: Ythe spec for Z will have getCatalogId() of Z and getCatalogItemIdSearchPath() of Y, X. (The self catalog ID is implicit at the head of the search path.)
BrooklynObject.TagSupport tags()
ImmutableMap
may be used under the covers; also there is little point!);
and they should be amenable to our persistence (on-disk serialization) and our JSON serialization in the REST API.BrooklynObject.SubscriptionSupport subscriptions()
BrooklynObject.RelationSupport<?> relations()