brooklyn.entity
Interface Entity

All Superinterfaces:
Rebindable<EntityMemento>, Serializable
All Known Subinterfaces:
Application, DriverDependentEntity<D>, EntityLocal, Group

public interface Entity
extends Serializable, Rebindable<EntityMemento>

The basic interface for a Brooklyn entity.

Implementors of entities are strongly encouraged to extend brooklyn.entity.basic.AbstractEntity.

To instantiate an entity, see managementContext.getEntityManager().createEntity(entitySpec). Also see brooklyn.entity.basic.ApplicationBuilder, brooklyn.entity.basic.AbstractEntity#addChild(EntitySpec), and brooklyn.entity.proxying.EntitySpecs.

Entities may not be Serializable in subsequent releases!

See Also:
brooklyn.entity.basic.AbstractEntity

Method Summary
 Entity addChild(Entity child)
          Add a child Entity, and set this entity as its parent, returning the added child.
 void addEnricher(Enricher enricher)
          Adds the given enricher to this entity.
 void addGroup(Group group)
          Add this entity as a member of the given Group.
 Entity addOwnedChild(Entity child)
          Deprecated. since 0.5; see addChild(Entity)
 void addPolicy(Policy policy)
          Adds the given policy to this entity.
 void clearOwner()
          Deprecated. since 0.5; see clearParent()
 void clearParent()
          Clears the parent (i.e.
 Application getApplication()
           
 String getApplicationId()
           
<T> T
getAttribute(AttributeSensor<T> sensor)
          Gets the value of the given attribute on this entity, or null if has not been set.
 Collection<Entity> getChildren()
          Return the entities that are children of (i.e.
<T> T
getConfig(ConfigKey<T> key)
          Gets the given configuration value for this entity, which may be inherited from its parent.
 String getDisplayName()
          A display name; recommended to be a concise single-line description.
 Collection<Enricher> getEnrichers()
           
 EntityType getEntityType()
          Information about the type of this entity; analogous to Java's object.getClass.
 Collection<Group> getGroups()
          The Collection of Groups that this entity is a member of.
 String getId()
          The unique identifier for this entity.
 Collection<Location> getLocations()
          Return all the Locations this entity is deployed to.
 Collection<Entity> getOwnedChildren()
          Deprecated. since 0.5; see getChildren()
 Entity getOwner()
          Deprecated. since 0.5; see getParent()
 Entity getParent()
          The parent of this entity, null if no parent.
 Collection<Policy> getPolicies()
           
<T> Task<T>
invoke(Effector<T> eff, Map<String,?> parameters)
          Invokes the given effector, with the given parameters to that effector.
 boolean removeChild(Entity child)
          Removes the specified child Entity; its parent will be set to null.
 boolean removeEnricher(Enricher enricher)
          Removes the given enricher from this entity.
 boolean removeOwnedChild(Entity child)
          Deprecated. since 0.5; see removeChild(Entity)
 boolean removePolicy(Policy policy)
          Removes the given policy from this entity.
 Entity setOwner(Entity group)
          Deprecated. since 0.5; see setOwner(Entity)
 Entity setParent(Entity parent)
          Sets the parent (i.e.
 
Methods inherited from interface brooklyn.entity.rebind.Rebindable
getRebindSupport
 

Method Detail

getId

String getId()
The unique identifier for this entity.


getDisplayName

String getDisplayName()
A display name; recommended to be a concise single-line description.


getEntityType

EntityType getEntityType()
Information about the type of this entity; analogous to Java's object.getClass.


getApplication

Application getApplication()
Returns:
the Application this entity is registered with, or null if not registered.

getApplicationId

String getApplicationId()
Returns:
the id of the Application this entity is registered with, or null if not registered.

getParent

Entity getParent()
The parent of this entity, null if no parent. The parent is normally the entity responsible for creating/destroying/managing this entity.

See Also:
setParent(Entity), clearParent()

getChildren

Collection<Entity> getChildren()
Return the entities that are children of (i.e. "owned by") this entity


setParent

Entity setParent(Entity parent)
Sets the parent (i.e. "owner") of this entity. Returns this entity, for convenience.

See Also:
getParent(), clearParent()

clearParent

void clearParent()
Clears the parent (i.e. "owner") of this entity. Also cleans up any references within its parent entity.

See Also:
getParent(), setParent(brooklyn.entity.Entity)

addChild

Entity addChild(Entity child)
Add a child Entity, and set this entity as its parent, returning the added child. TODO Signature will change to <T extends Entity> T addChild(T child), but that currently breaks groovy AbstractEntity subclasses sometimes so deferring that until (hopefully) the next release.


removeChild

boolean removeChild(Entity child)
Removes the specified child Entity; its parent will be set to null.

Returns:
True if the given entity was contained in the set of children

getOwner

@Deprecated
Entity getOwner()
Deprecated. since 0.5; see getParent()


getOwnedChildren

@Deprecated
Collection<Entity> getOwnedChildren()
Deprecated. since 0.5; see getChildren()


setOwner

@Deprecated
Entity setOwner(Entity group)
Deprecated. since 0.5; see setOwner(Entity)


clearOwner

@Deprecated
void clearOwner()
Deprecated. since 0.5; see clearParent()


addOwnedChild

@Deprecated
Entity addOwnedChild(Entity child)
Deprecated. since 0.5; see addChild(Entity)


removeOwnedChild

@Deprecated
boolean removeOwnedChild(Entity child)
Deprecated. since 0.5; see removeChild(Entity)


getPolicies

Collection<Policy> getPolicies()
Returns:
an immutable thread-safe view of the policies.

getEnrichers

Collection<Enricher> getEnrichers()
Returns:
an immutable thread-safe view of the enrichers.

getGroups

Collection<Group> getGroups()
The Collection of Groups that this entity is a member of. Groupings can be used to allow easy management/monitoring of a group of entities.


addGroup

void addGroup(Group group)
Add this entity as a member of the given Group.


getLocations

Collection<Location> getLocations()
Return all the Locations this entity is deployed to.


getAttribute

<T> T getAttribute(AttributeSensor<T> sensor)
Gets the value of the given attribute on this entity, or null if has not been set. Attributes can be things like workrate and status information, as well as configuration (e.g. url/jmxHost/jmxPort), etc.


getConfig

<T> T getConfig(ConfigKey<T> key)
Gets the given configuration value for this entity, which may be inherited from its parent.


invoke

<T> Task<T> invoke(Effector<T> eff,
                   Map<String,?> parameters)
Invokes the given effector, with the given parameters to that effector.


addPolicy

void addPolicy(Policy policy)
Adds the given policy to this entity. Also calls policy.setEntity if available.


removePolicy

boolean removePolicy(Policy policy)
Removes the given policy from this entity.

Returns:
True if the policy existed at this entity; false otherwise

addEnricher

void addEnricher(Enricher enricher)
Adds the given enricher to this entity. Also calls enricher.setEntity if available.


removeEnricher

boolean removeEnricher(Enricher enricher)
Removes the given enricher from this entity.

Returns:
True if the policy enricher at this entity; false otherwise


Copyright © 2013. All Rights Reserved.