Skip to main content

InputOutput

Trait InputOutput 

Source
pub trait InputOutput: Sized {
    // Required methods
    fn read(path: impl Into<PathBuf>) -> ApiResult<Self>;
    fn read_json(path: PathBuf) -> ApiResult<Self>;
    fn read_yaml(path: PathBuf) -> ApiResult<Self>;
    fn write(&self, path: impl Into<PathBuf>) -> ApiResult<()>;
    fn write_json(&self, path: impl Into<PathBuf>) -> ApiResult<()>;
    fn write_yaml(&self, path: impl Into<PathBuf>) -> ApiResult<()>;

    // Provided methods
    fn read_cff(_path: impl Into<PathBuf>) -> ApiResult<Self> { ... }
    fn read_jsonc(_path: PathBuf) -> ApiResult<Self> { ... }
    fn read_markdown(_path: PathBuf) -> ApiResult<Self> { ... }
    fn write_cff(&self, _path: impl Into<PathBuf>) -> ApiResult<()> { ... }
    fn write_markdown(&self, _path: impl Into<PathBuf>) -> ApiResult<()> { ... }
}
Expand description

Trait for I/O operations such as read and write

Required Methods§

Source

fn read(path: impl Into<PathBuf>) -> ApiResult<Self>

Read data from specified file path

Source

fn read_json(path: PathBuf) -> ApiResult<Self>

Read data from specified JSON file path

Source

fn read_yaml(path: PathBuf) -> ApiResult<Self>

Read data from specified YAML file path

Source

fn write(&self, path: impl Into<PathBuf>) -> ApiResult<()>

Write data to specified path

Source

fn write_json(&self, path: impl Into<PathBuf>) -> ApiResult<()>

Write data as JSON to specified path

Source

fn write_yaml(&self, path: impl Into<PathBuf>) -> ApiResult<()>

Write data as YAML to specified path

Provided Methods§

Source

fn read_cff(_path: impl Into<PathBuf>) -> ApiResult<Self>

Read data as CFF from specified path

Source

fn read_jsonc(_path: PathBuf) -> ApiResult<Self>

Read data from specified JSONC file path

Source

fn read_markdown(_path: PathBuf) -> ApiResult<Self>

Read data as Markdown from specified path

Source

fn write_cff(&self, _path: impl Into<PathBuf>) -> ApiResult<()>

Write data as CFF to specified path

Source

fn write_markdown(&self, _path: impl Into<PathBuf>) -> ApiResult<()>

Write data as Markdown (MD) to specified path

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl InputOutput for ApplicationConfiguration

Source§

impl InputOutput for Cff

Available on crate feature std only.
Source§

impl InputOutput for Config

Source§

impl InputOutput for acorn::schema::standard::dcat::Dataset

Available on crate feature std only.
Source§

impl InputOutput for acorn::schema::standard::huwise::Dataset

Available on crate feature std only.
Source§

impl InputOutput for Docx

Available on crate feature std only.
Source§

impl InputOutput for acorn::schema::standard::datacite::Record

Available on crate feature std only.
Source§

impl InputOutput for acorn::schema::standard::invenio::Record

Available on crate feature std only.
Source§

impl InputOutput for ResearchActivity

Available on crate feature std only.
Source§

impl InputOutput for Text

Available on crate feature std only.