blob: a396a389a0add5b21515aeba87643aa46f49b73c [file] [log] [blame]
package brooklyn.management.internal;
import java.net.URL;
import java.util.Map;
import java.util.concurrent.ExecutionException;
import brooklyn.config.ConfigKey;
import brooklyn.entity.Effector;
import brooklyn.entity.Entity;
import brooklyn.entity.basic.ConfigKeys;
import brooklyn.entity.proxying.InternalEntityFactory;
import brooklyn.entity.proxying.InternalLocationFactory;
import brooklyn.internal.storage.BrooklynStorage;
import brooklyn.management.ManagementContext;
import brooklyn.management.Task;
public interface ManagementContextInternal extends ManagementContext {
public static final String EFFECTOR_TAG = "EFFECTOR";
public static final String NON_TRANSIENT_TASK_TAG = "NON-TRANSIENT";
public static final ConfigKey<String> BROOKLYN_CATALOG_URL = ConfigKeys.newStringConfigKey("brooklyn.catalog.url",
"The URL of a catalog.xml descriptor; absent for default (~/.brooklyn/catalog.xml), " +
"or empty for no URL (use default scanner)", "file://~/.brooklyn/catalog.xml");
ClassLoader getBaseClassLoader();
Iterable<URL> getBaseClassPathForScanning();
void setBaseClassPathForScanning(Iterable<URL> urls);
void addEntitySetListener(CollectionChangeListener<Entity> listener);
void removeEntitySetListener(CollectionChangeListener<Entity> listener);
void terminate();
long getTotalEffectorInvocations();
<T> T invokeEffectorMethodSync(final Entity entity, final Effector<T> eff, final Object args) throws ExecutionException;
<T> Task<T> invokeEffector(final Entity entity, final Effector<T> eff, @SuppressWarnings("rawtypes") final Map parameters);
BrooklynStorage getStorage();
InternalEntityFactory getEntityFactory();
InternalLocationFactory getLocationFactory();
/**
* TODO Will be deleted shortly; placeholder while implementing remoting. When running with
* a distributed brooklyn, this method is meaningless as the real entity instance may not
* be local.
*
* @deprecated
*/
@Deprecated
Entity getRealEntity(String entityId);
}