Skip to content

refactor(config): improve ConfigManager API and loading flow#12

Merged
devspexx merged 5 commits intomasterfrom
refactor/config-manager-api
Apr 5, 2026
Merged

refactor(config): improve ConfigManager API and loading flow#12
devspexx merged 5 commits intomasterfrom
refactor/config-manager-api

Conversation

@devspexx
Copy link
Copy Markdown
Owner

@devspexx devspexx commented Apr 5, 2026

Overview

Refactors and improves the configuration management API with a focus on safety, clarity, and structured loading behavior.

Changes

  • Introduced structured config loading results (ConfigLoadResult, ConfigLoadStatus)
  • Improved ConfigManager API:
    • clearer separation between get, load, and create operations
    • added safe tryLoad and tryCreate methods
  • Added internal loading flow (loadInternal) to centralize logic
  • Improved file handling and directory creation logic
  • Refactored method naming for better readability and intent

YamlConfig Improvements

  • Added safe typed access methods using Optional
  • Added default-based getters (getXOrDefault)
  • Eliminated silent fallback issues from Bukkit API

Build / Docs

  • Fixed Javadoc doclint issues (build was failing)
  • Standardized documentation across all public APIs

Versioning

  • Migrated to semantic versioning (1.1.0)

Notes

  • No breaking changes to existing usage
  • Internal structure significantly improved for future extensions

@devspexx devspexx added Documentation Improvements or additions to documentation, comments, or examples. Enhancement An improvement to existing functionality without changing its core behavior. labels Apr 5, 2026
@devspexx devspexx merged commit f0084e2 into master Apr 5, 2026
@devspexx devspexx deleted the refactor/config-manager-api branch April 5, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation, comments, or examples. Enhancement An improvement to existing functionality without changing its core behavior.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant