/*
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kie.server.services.api;
import java.util.List;
import java.util.Set;
import org.kie.internal.identity.IdentityProvider;
import org.kie.server.api.model.KieServerConfig;
import org.kie.server.services.impl.KieContainerInstanceImpl;
import org.kie.server.services.impl.KieSessionLookupManager;
import org.kie.server.services.impl.storage.KieServerStateRepository;
public interface KieServerRegistry {
KieContainerInstanceImpl registerContainer(String id, KieContainerInstanceImpl kieContainerInstance);
KieContainerInstanceImpl unregisterContainer(String id);
KieContainerInstanceImpl getContainer(String id);
KieContainerInstanceImpl getContainer(String alias, ContainerLocator locator);
String getContainerId(String alias, ContainerLocator locator);
List<KieContainerInstanceImpl> getContainers();
List<String> getContainerAliases();
List<KieContainerInstanceImpl> getContainersForAlias(String alias);
void registerIdentityProvider(IdentityProvider identityProvider);
IdentityProvider unregisterIdentityProvider();
IdentityProvider getIdentityProvider();
void registerServerExtension(KieServerExtension kieServerExtension);
void unregisterServerExtension(KieServerExtension kieServerExtension);
List<KieServerExtension> getServerExtensions();
KieServerExtension getServerExtension(String extensionName);
void registerController(String controllerUrl);
Set<String> getControllers();
KieServerConfig getConfig();
void registerStateRepository(KieServerStateRepository repository);
KieServerStateRepository getStateRepository();
KieSessionLookupManager getKieSessionLookupManager();
void addExtraClasses(Set<Class<?>> extraClasses);
Set<Class<?>> getExtraClasses();
}