Skip to content

Conversation

@bentahsin
Copy link
Owner

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds significant new features to the placeholder management system: caching support via @Cache annotation, middleware processing via @Middleware annotation, permission requirements via @RequirePermission annotation, and automatic documentation generation. It also enhances existing annotations with description and example fields.

Key Changes

  • Introduces three new annotations (@Cache, @Middleware, @RequirePermission) and a middleware interface for extensible placeholder processing
  • Refactors caching logic to support configurable cache durations with TimeUnit-based control
  • Adds generateDocs() method to automatically create documentation files listing all registered placeholders with their metadata

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
PlaceholderMiddleware.java New functional interface for processing placeholder results before returning to PlaceholderAPI
RequirePermission.java New annotation for permission-gated placeholders with customizable denial messages
RelationalPlaceholder.java Added optional description and example fields for documentation generation
PlaceholderIdentifier.java Added optional description and example fields for documentation generation
Middleware.java New annotation to specify middleware chain for placeholder result processing
Cache.java New annotation for configurable caching with duration and TimeUnit support
BenthPAPIManager.java Major refactoring: added middleware support, permission checking, improved caching logic, and documentation generation functionality
.gitignore Added dependency-reduced-pom.xml to ignore list

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@bentahsin bentahsin merged commit 2c4896a into master Nov 22, 2025
1 check passed
@bentahsin bentahsin deleted the feature/new-annotations branch November 22, 2025 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants