48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
from abc import abstractmethod
|
|
from numbers import Number
|
|
|
|
from open_feature.evaluation_context.evaluation_context import EvaluationContext
|
|
from open_feature.provider.metadata import Metadata
|
|
|
|
|
|
class AbstractProvider:
|
|
@abstractmethod
|
|
def get_metadata(self) -> Metadata:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_boolean_details(
|
|
self,
|
|
flag_key: str,
|
|
default_value: bool,
|
|
evaluation_context: EvaluationContext = EvaluationContext(),
|
|
):
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_string_details(
|
|
self,
|
|
flag_key: str,
|
|
default_value: str,
|
|
evaluation_context: EvaluationContext = EvaluationContext(),
|
|
):
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_number_details(
|
|
self,
|
|
flag_key: str,
|
|
default_value: Number,
|
|
evaluation_context: EvaluationContext = EvaluationContext(),
|
|
):
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_object_details(
|
|
self,
|
|
flag_key: str,
|
|
default_value: dict,
|
|
evaluation_context: EvaluationContext = EvaluationContext(),
|
|
):
|
|
pass
|