M - MB - public abstract class AbstractRegistryController<M extends com.google.protobuf.GeneratedMessage,MB extends com.google.protobuf.GeneratedMessage.Builder<MB>>
extends org.openbase.jul.extension.rsb.com.RSBCommunicationService<M,MB>
implements org.openbase.jul.storage.registry.RegistryController<M>, org.openbase.jul.iface.Launchable<rst.rsb.ScopeType.Scope>
| Modifier and Type | Field and Description |
|---|---|
protected org.openbase.jul.storage.file.ProtoBufJSonFileProvider |
protoBufJSonFileProvider |
static boolean |
SPARSELY_REGISTRY_DATA_FILTERED |
static boolean |
SPARSELY_REGISTRY_DATA_NOTIFIED |
| Constructor and Description |
|---|
AbstractRegistryController(Class<? extends org.openbase.jul.extension.rsb.scope.jp.JPScope> jpScopeProperty,
MB builder)
Constructor creates a new RegistryController based on the given scope and publishing registry data of the given builder.
|
AbstractRegistryController(Class<? extends org.openbase.jul.extension.rsb.scope.jp.JPScope> jpScopeProperty,
MB builder,
boolean filterSparselyRegistryData)
Constructor creates a new RegistryController based on the given scope and publishing registry data of the given builder.
|
| Modifier and Type | Method and Description |
|---|---|
void |
activate() |
protected void |
activateRemoteRegistries() |
void |
deactivate() |
protected void |
deactivateRemoteRegistries() |
rst.rsb.ScopeType.Scope |
getDefaultConfig() |
protected List<org.openbase.jul.storage.registry.ProtoBufFileSynchronizedRegistry> |
getRegistries() |
List<org.openbase.jul.storage.registry.RemoteRegistry> |
getRemoteRegistries() |
Boolean |
isConsistent()
Test if at least one local registry is inconsistent.
|
Boolean |
isReady() |
void |
notifyChange() |
protected void |
postInit() |
protected abstract void |
registerConsistencyHandler() |
protected void |
registerConsistencyHandler(org.openbase.jul.storage.registry.ConsistencyHandler consistencyHandler,
Class messageClass) |
protected abstract void |
registerDependencies() |
protected void |
registerDependency(org.openbase.jul.storage.registry.Registry dependency,
Class messageClass) |
void |
registerMethods(org.openbase.jul.extension.rsb.iface.RSBLocalServer server) |
protected abstract void |
registerPlugins() |
protected abstract void |
registerRegistries() |
protected void |
registerRegistry(org.openbase.jul.storage.registry.ProtoBufFileSynchronizedRegistry registry) |
protected abstract void |
registerRemoteRegistries() |
protected void |
registerRemoteRegistry(org.openbase.jul.storage.registry.RemoteRegistry registry) |
void |
shutdown() |
protected abstract void |
syncRegistryFlags() |
void |
waitUntilReady() |
Future<Void> |
waitUntilReadyFuture() |
addDataObserver, cloneDataBuilder, getBuilderSetup, getControllerAvailabilityState, getData, getDataBuilder, getDataBuilder, getDataClass, getDataField, getDataFieldDescriptor, getDataFuture, getScope, hasDataField, init, init, init, init, init, init, isActive, isDataAvailable, notifyDataUpdate, ping, removeDataObserver, requestStatus, setDataField, setDataField, supportsDataField, toString, updateDataToPublish, validateActivation, validateInitialization, validateMiddleware, waitForAvailabilityState, waitForData, waitForData, waitForMiddlewareclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetControllerAvailabilityState, getData, getDataClass, waitForAvailabilityStatepublic static final boolean SPARSELY_REGISTRY_DATA_FILTERED
public static final boolean SPARSELY_REGISTRY_DATA_NOTIFIED
protected org.openbase.jul.storage.file.ProtoBufJSonFileProvider protoBufJSonFileProvider
public AbstractRegistryController(Class<? extends org.openbase.jul.extension.rsb.scope.jp.JPScope> jpScopeProperty, MB builder) throws org.openbase.jul.exception.InstantiationException
Node: By default this constructor filters sparsely registry data. If you want to publish data of internal registries even if other internal registries are not ready yet, use can use the other constructor of this class and set the filterSparselyRegistryData flag to false.
jpScopeProperty - the scope which is used for registry communication and data publishing.builder - the builder to build the registry data message.org.openbase.jul.exception.InstantiationExceptionpublic AbstractRegistryController(Class<? extends org.openbase.jul.extension.rsb.scope.jp.JPScope> jpScopeProperty, MB builder, boolean filterSparselyRegistryData) throws org.openbase.jul.exception.InstantiationException
jpScopeProperty - the scope which is used for registry communication and data publishing.builder - the builder to build the registry data message.filterSparselyRegistryData - if this flag is true the registry data is only published if non of the internal registries is busy.org.openbase.jul.exception.InstantiationExceptionpublic rst.rsb.ScopeType.Scope getDefaultConfig()
throws org.openbase.jul.exception.NotAvailableException
getDefaultConfig in interface org.openbase.jul.iface.provider.DefaultConfigProvider<rst.rsb.ScopeType.Scope>org.openbase.jul.exception.NotAvailableExceptionprotected void postInit()
throws org.openbase.jul.exception.InitializationException,
InterruptedException
postInit in class org.openbase.jul.extension.rsb.com.RSBCommunicationService<M extends com.google.protobuf.GeneratedMessage,MB extends com.google.protobuf.GeneratedMessage.Builder<MB>>org.openbase.jul.exception.InitializationExceptionInterruptedExceptionpublic void activate()
throws InterruptedException,
org.openbase.jul.exception.CouldNotPerformException
activate in interface org.openbase.jul.iface.Activatableactivate in class org.openbase.jul.extension.rsb.com.RSBCommunicationService<M extends com.google.protobuf.GeneratedMessage,MB extends com.google.protobuf.GeneratedMessage.Builder<MB>>InterruptedExceptionorg.openbase.jul.exception.CouldNotPerformExceptionpublic void deactivate()
throws InterruptedException,
org.openbase.jul.exception.CouldNotPerformException
deactivate in interface org.openbase.jul.iface.Activatabledeactivate in class org.openbase.jul.extension.rsb.com.RSBCommunicationService<M extends com.google.protobuf.GeneratedMessage,MB extends com.google.protobuf.GeneratedMessage.Builder<MB>>InterruptedExceptionorg.openbase.jul.exception.CouldNotPerformExceptionpublic void shutdown()
shutdown in interface org.openbase.jul.iface.Manageable<rst.rsb.ScopeType.Scope>shutdown in interface org.openbase.jul.iface.Shutdownableshutdown in class org.openbase.jul.extension.rsb.com.RSBCommunicationService<M extends com.google.protobuf.GeneratedMessage,MB extends com.google.protobuf.GeneratedMessage.Builder<MB>>public void registerMethods(org.openbase.jul.extension.rsb.iface.RSBLocalServer server)
throws org.openbase.jul.exception.CouldNotPerformException
public void notifyChange()
throws org.openbase.jul.exception.CouldNotPerformException,
InterruptedException
notifyChange in interface org.openbase.jul.iface.ChangeablenotifyChange in interface org.openbase.jul.pattern.Controller<M extends com.google.protobuf.GeneratedMessage>notifyChange in class org.openbase.jul.extension.rsb.com.RSBCommunicationService<M extends com.google.protobuf.GeneratedMessage,MB extends com.google.protobuf.GeneratedMessage.Builder<MB>>org.openbase.jul.exception.CouldNotPerformExceptionInterruptedExceptionprotected void activateRemoteRegistries()
throws org.openbase.jul.exception.CouldNotPerformException,
InterruptedException
org.openbase.jul.exception.CouldNotPerformExceptionInterruptedExceptionprotected void deactivateRemoteRegistries()
throws org.openbase.jul.exception.CouldNotPerformException,
InterruptedException
org.openbase.jul.exception.CouldNotPerformExceptionInterruptedExceptionprotected void registerDependency(org.openbase.jul.storage.registry.Registry dependency,
Class messageClass)
throws org.openbase.jul.exception.CouldNotPerformException
org.openbase.jul.exception.CouldNotPerformExceptionprotected void registerRegistry(org.openbase.jul.storage.registry.ProtoBufFileSynchronizedRegistry registry)
protected void registerRemoteRegistry(org.openbase.jul.storage.registry.RemoteRegistry registry)
protected void registerConsistencyHandler(org.openbase.jul.storage.registry.ConsistencyHandler consistencyHandler,
Class messageClass)
throws org.openbase.jul.exception.CouldNotPerformException
org.openbase.jul.exception.CouldNotPerformExceptionpublic List<org.openbase.jul.storage.registry.RemoteRegistry> getRemoteRegistries()
protected List<org.openbase.jul.storage.registry.ProtoBufFileSynchronizedRegistry> getRegistries()
public void waitUntilReady()
throws InterruptedException
waitUntilReady in interface org.openbase.jul.storage.registry.RegistryServiceInterruptedExceptionpublic Future<Void> waitUntilReadyFuture()
waitUntilReadyFuture in interface org.openbase.jul.storage.registry.RegistryServicepublic Boolean isReady()
isReady in interface org.openbase.jul.iface.ReadyableisReady in interface org.openbase.jul.storage.registry.RegistryServiceisReady in class org.openbase.jul.extension.rsb.com.RSBCommunicationService<M extends com.google.protobuf.GeneratedMessage,MB extends com.google.protobuf.GeneratedMessage.Builder<MB>>public Boolean isConsistent()
isConsistent in interface org.openbase.jul.storage.registry.RegistryServiceprotected abstract void registerConsistencyHandler()
throws org.openbase.jul.exception.CouldNotPerformException
org.openbase.jul.exception.CouldNotPerformExceptionprotected abstract void registerPlugins()
throws org.openbase.jul.exception.CouldNotPerformException,
InterruptedException
org.openbase.jul.exception.CouldNotPerformExceptionInterruptedExceptionprotected abstract void registerRegistries()
throws org.openbase.jul.exception.CouldNotPerformException
org.openbase.jul.exception.CouldNotPerformExceptionprotected abstract void registerDependencies()
throws org.openbase.jul.exception.CouldNotPerformException
org.openbase.jul.exception.CouldNotPerformExceptionprotected abstract void syncRegistryFlags()
throws org.openbase.jul.exception.CouldNotPerformException,
InterruptedException
org.openbase.jul.exception.CouldNotPerformExceptionInterruptedExceptionprotected abstract void registerRemoteRegistries()
throws org.openbase.jul.exception.CouldNotPerformException
org.openbase.jul.exception.CouldNotPerformExceptionCopyright © 2014–2018 openbase.org. All rights reserved.