Package com.cloudforge.core.config
Class ConfigurationIntrospector
java.lang.Object
com.cloudforge.core.config.ConfigurationIntrospector
Discovers and filters configuration fields using reflection and annotations.
This is the core of the Configuration Introspection system, providing automatic
field discovery based on ConfigField annotations and application capabilities.
Usage
// Discover all fields for an application
List<ConfigFieldInfo> fields = ConfigurationIntrospector.discoverFields(gitlabSpec);
// Discover fields in a specific category
List<ConfigFieldInfo> databaseFields = ConfigurationIntrospector.discoverFields(gitlabSpec, "database");
// Filter by visibility
List<ConfigFieldInfo> visibleFields = fields.stream()
.filter(f -> f.isVisible(config))
.toList();
- Since:
- 3.0.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic List<ConfigFieldInfo> discoverFields(ApplicationSpec appSpec) Discovers all configuration fields from DeploymentConfig.static List<ConfigFieldInfo> discoverFields(ApplicationSpec appSpec, String category) Discovers configuration fields for a specific category.static List<ConfigFieldInfo> discoverVisibleFields(ApplicationSpec appSpec, Object config) Discovers visible fields only (based on application capabilities and configuration state).static List<ConfigFieldInfo> discoverVisibleFields(ApplicationSpec appSpec, Object config, String category) Discovers fields by category with visibility filtering.
-
Constructor Details
-
ConfigurationIntrospector
public ConfigurationIntrospector()
-
-
Method Details
-
discoverFields
Discovers all configuration fields from DeploymentConfig.Returns fields sorted by category order, then field order, then display name.
- Parameters:
appSpec- application spec for determining field visibility- Returns:
- list of all discovered fields
-
discoverFields
Discovers configuration fields for a specific category.Returns fields sorted by field order, then display name.
- Parameters:
appSpec- application spec for determining field visibilitycategory- category to filter by, or null for all categories- Returns:
- list of discovered fields matching the category
-
discoverVisibleFields
Discovers visible fields only (based on application capabilities and configuration state).- Parameters:
appSpec- application spec for determining field visibilityconfig- current configuration state for evaluating visibility expressions- Returns:
- list of visible fields
-
discoverVisibleFields
public static List<ConfigFieldInfo> discoverVisibleFields(ApplicationSpec appSpec, Object config, String category) Discovers fields by category with visibility filtering.- Parameters:
appSpec- application specconfig- current configuration statecategory- category to filter by- Returns:
- list of visible fields in the category
-