Trait Extension

Source
pub trait Extension: Serialize + DeserializeOwned {
    const IDENTIFIER: &'static str;
    const PREFIX: &'static str;

    // Provided method
    fn identifier_prefix() -> &'static str { ... }
}
Expand description

A trait implemented by extensions.

So far, all extensions are assumed to live in under https://stac-extensions.github.io domain.

Required Associated Constants§

Source

const IDENTIFIER: &'static str

The schema URI.

Source

const PREFIX: &'static str

The fiend name prefix.

Provided Methods§

Source

fn identifier_prefix() -> &'static str

Returns everything from the identifier up until the version.

§Examples
use stac_extensions::{Raster, Extension};
assert_eq!(Raster::identifier_prefix(), "https://stac-extensions.github.io/raster/");

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl Extension for Authentication

Source§

const IDENTIFIER: &'static str = "https://stac-extensions.github.io/authentication/v1.1.0/schema.json"

Source§

const PREFIX: &'static str = "auth"

Source§

impl Extension for ElectroOptical

Source§

const IDENTIFIER: &'static str = "https://stac-extensions.github.io/eo/v1.1.0/schema.json"

Source§

const PREFIX: &'static str = "eo"

Source§

impl Extension for Projection

Source§

const IDENTIFIER: &'static str = "https://stac-extensions.github.io/projection/v2.0.0/schema.json"

Source§

const PREFIX: &'static str = "proj"

Source§

impl Extension for Raster

Source§

const IDENTIFIER: &'static str = "https://stac-extensions.github.io/raster/v1.1.0/schema.json"

Source§

const PREFIX: &'static str = "raster"