pub struct DataviewBuilder { /* private fields */ }Expand description
A Builder for the Dataview struct.
Implementations§
Source§impl DataviewBuilder
impl DataviewBuilder
Sourcepub fn set_row_header(self, row_header: &str) -> Self
pub fn set_row_header(self, row_header: &str) -> Self
Sets the mandatory row header label.
Sourcepub fn add_headline<T: ToString>(self, key: &str, value: T) -> Self
pub fn add_headline<T: ToString>(self, key: &str, value: T) -> Self
Adds or replaces a headline value. Order is preserved by first insert.
Sourcepub fn add_value<T: ToString>(self, row: &str, column: &str, value: T) -> Self
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.
Sourcepub fn add_row(self, row: Row) -> Self
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();Sourcepub fn sort_rows(self) -> Self
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.
Sourcepub fn sort_rows_by<K, F>(self, f: F) -> Self
pub fn sort_rows_by<K, F>(self, f: F) -> Self
Sorts rows using a key selector. Opt-in; default is insertion order.
Sourcepub fn sort_rows_with<F>(self, cmp: F) -> Self
pub fn sort_rows_with<F>(self, cmp: F) -> Self
Sorts rows using a custom comparator. Opt-in; default is insertion order.
Sourcepub fn build(self) -> Result<Dataview, DataviewError>
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
impl Clone for DataviewBuilder
Source§fn clone(&self) -> DataviewBuilder
fn clone(&self) -> DataviewBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more