for BooleanProvider, DoubleProvider, PercentageProvider, NumberProvider,
StringProvider annotations.
When the parameter is set to 'true' the value from the Provider is shown
on a table alongside players.
Capability DATA_EXTENSION_SHOW_IN_PLAYER_TABLE added
Critical:
- String literal duplication fixed in a few places
- Cognitive complexity reduced in BooleanProviderValueGatherer
Major:
- Called Optional#isPresent before accessing value
16 instances in ProviderTransactions
- private constructor to Extension tables
- Missing deprecated tags to deprecated plugin tab stuff
- Unused class variable removal
- Throw dedicated exceptions in ServerServerInfo
- Unused method removal
Minor:
- Renamed 'API' field to 'service' in ExtensionService
- Unused variable removal
This is one of the most complex queries I have made.
- Select all fulfilled conditions for all players (conditionName when
true and not_conditionName when false)
- Left join with player value & provider tables when uuids match, and
when condition matches a condition in the query above.
- Filter the join query for values where the condition did not match
any provided condition in the join (Is null)
- Delete all player values with IDs that are returned by the left join
query after filtering
In addition:
- Added test for the transaction
- Added extension data removal to RemoveEverythingTransaction
- Added unregister method to ExtensionService
Implemented methods for extracting each kind of Provider annotation
related method information to a DataProvider.
DataProviders required some duplicate code due to type erasure of the
parameter class.
----
Added Display-priority to Providers, highest value is placed top most.
InvalidateMethod annotations are now extracted.