You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2022/06/20 19:43:00 UTC

[jira] [Created] (IGNITE-17199) Improve the usability of the abstract configuration interface

Kirill Tkalenko created IGNITE-17199:
----------------------------------------

             Summary: Improve the usability of the abstract configuration interface
                 Key: IGNITE-17199
                 URL: https://issues.apache.org/jira/browse/IGNITE-17199
             Project: Ignite
          Issue Type: Improvement
            Reporter: Kirill Tkalenko
            Assignee: Kirill Tkalenko
             Fix For: 3.0.0-alpha6


*Problem*
Consider an example of generating configuration interfaces (**Configuration*) for an abstract configuration.

Configuration schemas:
{code:java}
@AbstractConfiguration
public class BasePageMemoryDataRegionConfigurationSchema {
    @Value
    public int size;
}

@Config
public class VolatilePageMemoryDataRegionConfigurationSchema extends BasePageMemoryDataRegionConfigurationSchema {
    @Value
    public double evictionThreshold;
}
{code}


Configuration interfaces:
{code:java}
public interface BasePageMemoryDataRegionConfiguration<VIEWT extends BasePageMemoryDataRegionView, CHANGET extends BasePageMemoryDataRegionChange> extends ConfigurationTree<VIEWT, CHANGET> {
    ConfigurationValue<Integer> size();
}

public interface VolatilePageMemoryDataRegionConfiguration extends BasePageMemoryDataRegionConfiguration<VolatilePageMemoryDataRegionView, VolatilePageMemoryDataRegionChange> {
    ConfigurationValue<Integer> size();
}
{code}




--
This message was sent by Atlassian Jira
(v8.20.7#820007)