Feature model

class besser.BUML.metamodel.feature_model.feature_model.Feature(name: str, min: int = 1, max: int = 1, value: FeatureValue = None)[source]

Bases: NamedElement

_abc_impl = <_abc._abc_data object>
alternative(children: list[Feature]) Feature[source]
static duplicate(f: Feature, parent: Feature = None, min: int = 1, max: int = 1) Feature[source]
get_depth(depth: int = 0) int[source]
mandatory(child: Feature) Feature[source]
optional(child: Feature) Feature[source]
or_(children: list[Feature]) Feature[source]
to_json()[source]
class besser.BUML.metamodel.feature_model.feature_model.FeatureConfiguration(feature: Feature, value: int | float | str = None)[source]

Bases: Element

_abc_impl = <_abc._abc_data object>
add_child(child: FeatureConfiguration) None[source]
add_children(children: list[FeatureConfiguration]) None[source]
children: list[FeatureConfiguration]
feature: Feature
get_child(name: str) FeatureConfiguration[source]
get_children(name: str) list[FeatureConfiguration][source]
get_depth(depth: int = 0) int[source]
parent: FeatureConfiguration
to_json()[source]
value: int | float | str
class besser.BUML.metamodel.feature_model.feature_model.FeatureGroup(kind: str, features: list[Feature] = None)[source]

Bases: Element

_abc_impl = <_abc._abc_data object>
duplicate(parent: Feature) FeatureGroup[source]
features: list[Feature]
kind: str
class besser.BUML.metamodel.feature_model.feature_model.FeatureModel(name: str)[source]

Bases: Model

_abc_impl = <_abc._abc_data object>
duplicate(min: int = 1, max: int = 1) Feature[source]
root(feature: Feature) FeatureModel[source]
root_feature: Feature
class besser.BUML.metamodel.feature_model.feature_model.FeatureValue(t: str, values: list = None, min: float = None, max: float = None)[source]

Bases: Element

_abc_impl = <_abc._abc_data object>
max: int
min: int
type: str
values: list