All Downloads are FREE. Search and download functionalities are using the official Maven repository.

brooklyn.mementos.EntityMemento Maven / Gradle / Ivy

package brooklyn.mementos;

import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;

import brooklyn.config.ConfigKey;
import brooklyn.entity.rebind.RebindSupport;
import brooklyn.event.AttributeSensor;

/**
 * Represents the state of an entity, so that it can be reconstructed (e.g. after restarting brooklyn).
 * 
 * @see RebindSupport
 * 
 * @author aled
 */
public interface EntityMemento extends Memento, TreeNode {

    public boolean isTopLevelApp();
    
    public Map getConfig();

    public Map getAttributes();

    public Set getEntityReferenceAttributes();
    
    public Set getEntityReferenceConfigs();

    /**
     * The ids of the member entities, if this is a Group; otherwise empty.
     * 
     * @see Group.getMembers()
     */
    public List getMembers();
    
    /**
     * The ids of the locations for this entity.
     */
    public List getLocations();

    /**
     * The ids of the policies of this entity.
     */
    public Collection getPolicies();

    public Collection getLocationReferenceConfigs();

    public Collection getLocationReferenceAttributes();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy