EnergyMix

Struct EnergyMix 

Source
pub struct EnergyMix {
Show 13 fields pub meta: Bo4eMeta, pub energy_mix_number: Option<i32>, pub division: Option<Division>, pub designation: Option<String>, pub valid_year: Option<i32>, pub sources: Vec<EnergySource>, pub notes: Option<String>, pub co2_emission: Option<f64>, pub nuclear_waste: Option<f64>, pub eco_certificates: Vec<EcoCertificate>, pub eco_labels: Vec<EcoLabel>, pub in_eco_top_ten: Option<bool>, pub website: Option<String>,
}
Expand description

The composition of energy sources for a supplier’s energy mix.

German: Energiemix

§Example

use bo4e_core::com::{EnergyMix, EnergySource};
use bo4e_core::enums::GenerationType;

let mix = EnergyMix {
    energy_mix_number: Some(1),
    designation: Some("Green Energy Mix".to_string()),
    valid_year: Some(2024),
    sources: vec![
        EnergySource {
            generation_type: Some(GenerationType::Solar),
            percentage_share: Some(40.0),
            ..Default::default()
        },
        EnergySource {
            generation_type: Some(GenerationType::Wind),
            percentage_share: Some(60.0),
            ..Default::default()
        },
    ],
    ..Default::default()
};

Fields§

§meta: Bo4eMeta

BO4E metadata

§energy_mix_number: Option<i32>

Unique identifier for the energy mix (Energiemixnummer)

§division: Option<Division>

Energy type/division (Sparte)

§designation: Option<String>

Name/designation of the energy mix (Bezeichnung)

§valid_year: Option<i32>

Year for which this mix applies (Gültigkeitsjahr)

§sources: Vec<EnergySource>

Individual energy sources and their shares (Anteil)

§notes: Option<String>

Notes about the mix (Bemerkung)

§co2_emission: Option<f64>

CO₂ emissions in g/kWh (CO2-Emission)

§nuclear_waste: Option<f64>

Nuclear waste in g/kWh (Atommüll)

§eco_certificates: Vec<EcoCertificate>

Environmental certificates (Ökozertifikate)

§eco_labels: Vec<EcoLabel>

Eco-labels (Ökolabel)

§in_eco_top_ten: Option<bool>

Whether provider is in eco top ten (Ist in Öko Top Ten)

§website: Option<String>

Website for published energy mix data (Website)

Trait Implementations§

Source§

impl Bo4eObject for EnergyMix

Source§

fn type_name_german() -> &'static str

Returns the German type name as used in the _typ field. Read more
Source§

fn type_name_english() -> &'static str

Returns the English type name. Read more
Source§

fn meta(&self) -> &Bo4eMeta

Returns a reference to the metadata.
Source§

fn meta_mut(&mut self) -> &mut Bo4eMeta

Returns a mutable reference to the metadata.
Source§

impl Clone for EnergyMix

Source§

fn clone(&self) -> EnergyMix

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for EnergyMix

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for EnergyMix

Source§

fn default() -> EnergyMix

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for EnergyMix

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for EnergyMix

Source§

fn eq(&self, other: &EnergyMix) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for EnergyMix

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for EnergyMix

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,