Class ConfigurationPropertyRepository

java.lang.Object
io.microsphere.spring.config.ConfigurationPropertyRepository
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware

public class ConfigurationPropertyRepository extends Object implements org.springframework.context.EnvironmentAware, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
A repository for managing ConfigurationProperty instances with support for configuration via Spring's Environment.

This class provides methods to add, remove, retrieve, and manage configuration properties. It also allows integration with Spring's lifecycle management through the InitializingBean and DisposableBean interfaces, as well as environment-based property configuration through the EnvironmentAware interface.

Configuration Properties

Example Usage


 // Create a new repository instance
 ConfigurationPropertyRepository repository = new ConfigurationPropertyRepository();

 // Set the environment to load max size from configuration
 ConfigurableEnvironment environment = new StandardEnvironment();
 repository.setEnvironment(environment);

 // Initialize the repository (usually done automatically by Spring)
 repository.afterPropertiesSet();

 // Add a configuration property
 ConfigurationProperty property = new ConfigurationProperty("my.property.name");
 property.setValue("exampleValue");
 repository.add(property);

 // Retrieve the property
 ConfigurationProperty retrieved = repository.get("my.property.name");
 System.out.println(retrieved.getValue()); // Output: exampleValue

 // Clean up resources when done
 repository.destroy();
 
Since:
1.0.0
Author:
Mercy
See Also:
  • ConfigurationProperty
  • Field Details

  • Constructor Details

    • ConfigurationPropertyRepository

      public ConfigurationPropertyRepository()
  • Method Details

    • add

      public void add(io.microsphere.beans.ConfigurationProperty configurationProperty)
      Add a ConfigurationProperty instance
      Parameters:
      configurationProperty - a ConfigurationProperty instance
    • remove

      public io.microsphere.beans.ConfigurationProperty remove(String name)
      Remove a ConfigurationProperty instance by name
      Parameters:
      name - the name of ConfigurationProperty
    • get

      public io.microsphere.beans.ConfigurationProperty get(String name)
      Get a ConfigurationProperty instance by name
      Parameters:
      name - the name of ConfigurationProperty
      Returns:
      null if not found
    • contains

      public boolean contains(String name)
      Determine whether the repository contains the specified name
      Parameters:
      name - the name of ConfigurationProperty
      Returns:
      true if contains, otherwise false
    • createIfAbsent

      public io.microsphere.beans.ConfigurationProperty createIfAbsent(String name)
      Create a ConfigurationProperty instance if absent
      Parameters:
      name - the name of ConfigurationProperty
      Returns:
      the ConfigurationProperty instance
    • getAll

      public Collection<io.microsphere.beans.ConfigurationProperty> getAll()
      Get all ConfigurationProperty instances
      Returns:
      never null
    • getMaxSize

      public int getMaxSize()
      Get the max size of the repository
      Returns:
      max size
    • setEnvironment

      public void setEnvironment(org.springframework.core.env.Environment environment)
      Specified by:
      setEnvironment in interface org.springframework.context.EnvironmentAware
    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
    • destroy

      public void destroy() throws Exception
      clear the repository
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Throws:
      Exception
    • getRepository

      protected Map<String,io.microsphere.beans.ConfigurationProperty> getRepository()