DataviewBuilder

Struct DataviewBuilder 

Source
pub struct DataviewBuilder { /* private fields */ }
Expand description

A Builder for the Dataview struct.

Implementations§

Source§

impl DataviewBuilder

Source

pub fn new() -> Self

Creates a new, empty builder.

Source

pub fn set_row_header(self, row_header: &str) -> Self

Sets the mandatory row header label.

Source

pub fn add_headline<T: ToString>(self, key: &str, value: T) -> Self

Adds or replaces a headline value. Order is preserved by first insert.

Source

pub fn add_value<T: ToString>(self, row: &str, column: &str, value: T) -> Self

Adds a single cell value at row/column, recording insertion order.

Source

pub fn add_row(self, row: Row) -> Self

Adds a complete row to the Dataview.

This is a convenience method to add multiple values for the same row at once.

§Example
use geneos_toolkit::prelude::*;

let row = Row::new("process1")
    .add_cell("Status", "Running")
    .add_cell("CPU", "2.5%");

let dataview = Dataview::builder()
    .set_row_header("Process")
    .add_row(row)
    .build();
Source

pub fn sort_rows(self) -> Self

Sorts rows in ascending order by row name. Opt-in; default is insertion order. Sorts rows in ascending order by row name. Opt-in; default is insertion order.

Source

pub fn sort_rows_by<K, F>(self, f: F) -> Self
where K: Ord, F: FnMut(&str) -> K,

Sorts rows using a key selector. Opt-in; default is insertion order.

Source

pub fn sort_rows_with<F>(self, cmp: F) -> Self
where F: FnMut(&str, &str) -> Ordering,

Sorts rows using a custom comparator. Opt-in; default is insertion order.

Source

pub fn build(self) -> Result<Dataview, DataviewError>

Builds the Dataview, consuming the builder.

The row_header must be set before the build or a panic will occur. There must be at least one value. Headlines are optional.

The order of the columns and rows is determined by the order in which they are added through values using the add_value method.

The order of headlines is determined by the order in which they are added through the add_headline method.

Example:

use geneos_toolkit::prelude::*;

let view: Dataview = Dataview::builder()
    .set_row_header("Name")
    .add_headline("AverageAge", "30")
    .add_value("Anna", "Age", "30")
    .add_value("Bertil", "Age", "20")
    .add_value("Caesar", "Age", "40")
    .build()
    .unwrap();

Trait Implementations§

Source§

impl Clone for DataviewBuilder

Source§

fn clone(&self) -> DataviewBuilder

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 DataviewBuilder

Source§

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

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

impl Default for DataviewBuilder

Source§

fn default() -> DataviewBuilder

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

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.