summaryrefslogtreecommitdiffstats
path: root/configserver-flags/src/main/java/com/yahoo/vespa/configserver/flags/FlagsDb.java
blob: 2c29ae0b818480a8521579fbd0d9c23a68a66c8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.configserver.flags;

import com.yahoo.vespa.flags.FlagId;
import com.yahoo.vespa.flags.json.FlagData;

import java.util.Map;
import java.util.Optional;

/**
 * @author hakonhall
 */
public interface FlagsDb {
    /** Get the String value of the flag. */
    Optional<FlagData> getValue(FlagId flagId);

    /** Set the String value of the flag. */
    void setValue(FlagId flagId, FlagData data);

    /** Remove the flag value if it exists. */
    void removeValue(FlagId flagId);

    /** Get all flags that have been set. */
    Map<FlagId, FlagData> getAllFlags();
}