blob: f8b0cc701ea3c6253f867131faf8120fd952bfb4 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* 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.apache.karaf.features.management;
import javax.management.openmbean.TabularData;
public interface FeaturesServiceMBean {
TabularData getFeatures() throws Exception;
TabularData getRepositories() throws Exception;
void addRepository(String url) throws Exception;
void removeRepository(String url) throws Exception;
void installFeature(String name) throws Exception;
void installFeature(String name, String version) throws Exception;
void uninstallFeature(String name) throws Exception;
void uninstallFeature(String name, String version) throws Exception;
String FEATURE_NAME = "Name";
String FEATURE_VERSION = "Version";
String FEATURE_DEPENDENCIES = "Dependencies";
String FEATURE_BUNDLES = "Bundles";
String FEATURE_CONFIGURATIONS = "Configurations";
String FEATURE_CONFIGURATIONFILES = "Configuration Files";
String FEATURE_INSTALLED = "Installed";
String FEATURE_CONFIG_PID = "Pid";
String FEATURE_CONFIG_ELEMENTS = "Elements";
String FEATURE_CONFIG_ELEMENT_KEY = "Key";
String FEATURE_CONFIG_ELEMENT_VALUE = "Value";
String FEATURE_CONFIG_FILES_ELEMENTS = "Files";
/**
* The type of the event which is emitted for features events
*/
String FEATURE_EVENT_TYPE = "org.apache.karaf.features.featureEvent";
String FEATURE_EVENT_EVENT_TYPE = "Type";
String FEATURE_EVENT_EVENT_TYPE_INSTALLED = "Installed";
String FEATURE_EVENT_EVENT_TYPE_UNINSTALLED = "Uninstalled";
/**
* The item names in the CompositeData representing a feature
*/
String[] FEATURE = { FEATURE_NAME, FEATURE_VERSION, FEATURE_DEPENDENCIES, FEATURE_BUNDLES,
FEATURE_CONFIGURATIONS, FEATURE_CONFIGURATIONFILES, FEATURE_INSTALLED };
String[] FEATURE_IDENTIFIER = { FEATURE_NAME, FEATURE_VERSION };
String[] FEATURE_CONFIG = { FEATURE_CONFIG_PID, FEATURE_CONFIG_ELEMENTS };
String[] FEATURE_CONFIG_FILES = { FEATURE_CONFIG_FILES_ELEMENTS };
String[] FEATURE_CONFIG_ELEMENT = { FEATURE_CONFIG_ELEMENT_KEY, FEATURE_CONFIG_ELEMENT_VALUE };
/**
* The item names in the CompositeData representing the event raised for
* feature events within the OSGi container by this bean
*/
String[] FEATURE_EVENT = { FEATURE_NAME, FEATURE_VERSION, FEATURE_EVENT_EVENT_TYPE };
String REPOSITORY_NAME = "Name";
String REPOSITORY_URI = "Uri";
String REPOSITORY_REPOSITORIES = "Repositories";
String REPOSITORY_FEATURES = "Features";
/**
* The type of the event which is emitted for repositories events
*/
String REPOSITORY_EVENT_TYPE = "org.apache.karaf.features.repositoryEvent";
String REPOSITORY_EVENT_EVENT_TYPE = "Type";
String REPOSITORY_EVENT_EVENT_TYPE_ADDED = "Added";
String REPOSITORY_EVENT_EVENT_TYPE_REMOVED = "Removed";
/**
* The item names in the CompositeData representing a feature
*/
String[] REPOSITORY = { REPOSITORY_NAME, REPOSITORY_URI, REPOSITORY_REPOSITORIES, REPOSITORY_FEATURES };
/**
* The item names in the CompositeData representing the event raised for
* feature events within the OSGi container by this bean
*/
String[] REPOSITORY_EVENT = { REPOSITORY_NAME, REPOSITORY_URI, REPOSITORY_EVENT_EVENT_TYPE };
}