Skip to content

Commit

Permalink
docs: add features to the first page.
Browse files Browse the repository at this point in the history
  • Loading branch information
credmond-git committed Oct 31, 2024
1 parent 74c7e25 commit ecc0869
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
sidebar_position: 1
---

# Annotations
# Annotations Code
When decoding a Java Bean style class, a record, an interface or a Kotlin Data Class you can provide a custom annotation to override the path for the field as well as provide a default.
The field annotation `@Config` takes priority if both the field and method are annotated.
The class annotation `@ConfigPrefix` allows the user to define the prefix for the config object as part of the class instead of the `getConfig()` call. If you provide both the resulting prefix is first the path in getConfig then the prefix in the `@ConfigPrefix` annotation.
Expand Down
22 changes: 22 additions & 0 deletions docs/gestalt-static/src/components/HomepageFeatures/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,28 @@ export default function HomepageFeatures(): JSX.Element {
<Feature key={idx} {...props} />
))}
</div>
<div className="features">
<p></p>
<Heading as="h3" className="text--center padding-horiz--md">Features</Heading>
<ul>
<li>Automatic decoding based on type: Supports decoding into bean classes, lists, sets, or primitive types. This simplifies configuration retrieval.</li>
<li>Java Records: Full support for Java Records, constructing records from configuration using the Records Canonical Constructor.</li>
<li>Supports Multiple Formats: Load configurations from various sources, including Environment Variables, Property files, an in-memory map, and more.</li>
<li>Read Sub-sections of Your Config: Easily navigate to specific sub-sections within configurations using dot notation.</li>
<li>Kotlin interface: Full support for Kotlin with an easy-to-use Kotlin-esque interface, ideal for Kotlin projects.</li>
<li>Merge Multiple Sources: Seamlessly merge configurations from different sources to create comprehensive settings.</li>
<li>String Substitution: Build a config value by injecting Environment Variables, System Properties or other nodes into your strings.</li>
<li>node Substitution: Include whole config nodes loaded from files or other places in the config tree anywhere in your config tree.</li>
<li>Flexible and Configurable: The library offers well-defined interfaces, allowing customization and extension.</li>
<li>Easy-to-Use Builder: Get started quickly with a user-friendly builder, or customize specific aspects of the library.</li>
<li>Receive All Errors Up Front: In case of configuration errors, receive multiple errors in a user-friendly log for efficient debugging.</li>
<li>Modular Support for Features: Include only the required features and dependencies in your build, keeping your application lightweight.</li>
<li>Zero Dependencies: The core library has zero external dependencies; add features and dependencies as needed.</li>
<li>Java 11 Minimum: Requires a minimum of Java 11 for compatibility with modern Java versions.</li>
<li>Java Modules: Supports Java 9 modules with proper exports.</li>
<li>Well Tested: Our codebase boasts an impressive > 91% code coverage, validated by over 1850 meaningful tests.</li>
</ul>
</div>
</div>
</section>
);
Expand Down

0 comments on commit ecc0869

Please sign in to comment.