Trait salak::Environment[][src]

pub trait Environment: Sync + Send {
    fn require<T: FromEnvironment>(&self, key: &str) -> Result<T, PropertyError>;
fn resolve_placeholder(
        &self,
        value: String
    ) -> Result<Option<Property>, PropertyError>;
fn find_keys(&self, prefix: &str) -> Vec<String>;
fn reload(&mut self) -> Result<(), PropertyError>; fn contains(&self, key: &str) -> bool { ... }
fn require_or<T: FromEnvironment>(
        &self,
        key: &str,
        default: T
    ) -> Result<T, PropertyError> { ... }
fn get<T: FromEnvironment>(&self, key: &str) -> Option<T> { ... }
fn get_or<T: FromEnvironment>(&self, key: &str, default: T) -> T { ... }
fn load_config<T: DefaultSourceFromEnvironment>(
        &self
    ) -> Result<T, PropertyError> { ... } }

An environment for getting properties with mutiple PropertySources, placeholder resolve and other features.

Required methods

fn require<T: FromEnvironment>(&self, key: &str) -> Result<T, PropertyError>[src]

Get property with specific type.

fn resolve_placeholder(
    &self,
    value: String
) -> Result<Option<Property>, PropertyError>
[src]

Resolve placeholder value.

fn find_keys(&self, prefix: &str) -> Vec<String>[src]

Find all next level keys with prefix.

fn reload(&mut self) -> Result<(), PropertyError>[src]

Reload Environment.

Loading content...

Provided methods

fn contains(&self, key: &str) -> bool[src]

Check whether property exists.

fn require_or<T: FromEnvironment>(
    &self,
    key: &str,
    default: T
) -> Result<T, PropertyError>
[src]

Get property with specific type, if property not exists, then return default value.

fn get<T: FromEnvironment>(&self, key: &str) -> Option<T>[src]

Get property with specific type, if error happens then return None.

fn get_or<T: FromEnvironment>(&self, key: &str, default: T) -> T[src]

Get property with specific type, if error happens then return default value.

fn load_config<T: DefaultSourceFromEnvironment>(
    &self
) -> Result<T, PropertyError>
[src]

This is supported on crate feature enable_derive only.

Load properties which has #[salak(prefix="prefix")]

Loading content...

Implementors

impl Environment for Salak[src]

impl Environment for SourceRegistry[src]

impl<E: Environment> Environment for PlaceholderResolver<E>[src]

impl<P: PropertySource> Environment for P[src]

Loading content...