Package org.apache.felix.webconsole.spi

# Interface ConfigurationHandler

@ConsumerType public interface ConfigurationHandler
A configuration handler allows to hook into the processing of configurations for the webconsole plugin. A handler can decide to hide configurations and properties but also implement additional validation. All configuration handlers are called in no particular order.

## Method Summary

Modifier and Type
Method
Description
`void`
`createConfiguration(String pid)`
A new configuration with that pid should be created
`void`
`createFactoryConfiguration(String factoryPid, String name)`
A new factory configuration with that pid should be created
`void`
`deleteConfiguration(String factoryPid, String pid)`
A configuration should be deleted
`default void`
`filterProperties(String factoryPid, String pid, Collection<String> propertyNames)`
Filter the properties do be displayed.
`default boolean`
`listConfiguration(String factoryPid, String pid)`
A configuration should be listed
`void`
`updateConfiguration(String factoryPid, String pid, Dictionary<String,Object> props)`
A configuration should be updated

## Method Details

### createConfiguration

void createConfiguration(String pid) throws ValidationException, IOException
A new configuration with that pid should be created

Parameters:
  `pid` - The pid
Throws:
  `IOException` - For an error
  `ValidationException` - if creation is not allowed

### createFactoryConfiguration

void createFactoryConfiguration(String factoryPid, String name) throws ValidationException, IOException
A new factory configuration with that pid should be created

Parameters:
  `factoryPid` - The factory pid
  `name` - Optional name, might be `null` if unknown
Throws:
  `IOException` - For an error
  `ValidationException` - if creation is not allowed

### deleteConfiguration

void deleteConfiguration(String factoryPid, String pid) throws ValidationException, IOException
A configuration should be deleted

Parameters:
  `factoryPid` - Optional factory pid
  `pid` - The pid
Throws:
  `IOException` - For an error
  `ValidationException` - if deletion is not allowed

### updateConfiguration

void updateConfiguration(String factoryPid, String pid, Dictionary<String,Object> props) throws ValidationException, IOException
A configuration should be updated

Parameters:
  `factoryPid` - Optional factory pid
  `pid` - The pid
  `props` - Mutable dictionary
Throws:
  `IOException` - For an error
  `ValidationException` - if updating is not allowed

### listConfiguration

default boolean listConfiguration(String factoryPid, String pid) throws IOException
A configuration should be listed

Parameters:
  `factoryPid` - Optional factory pid
  `pid` - The pid
Returns:
  true if the configuration may be listed
Throws:
  `IOException` - For an error
Since:
  1.1

### filterProperties

default void filterProperties(String factoryPid, String pid, Collection<String> propertyNames) throws IOException
Filter the properties do be displayed. Properties that should be hidden can be removed from the passed in collection

Parameters:
  `factoryPid` - Optional factory pid
  `pid` - The pid
  `propertyNames` - The mutable collection of property names
Throws:
  `IOException` - For an error
Since:
  1.1