Skip to main content

LinkedDataDeserializer

Trait LinkedDataDeserializer 

Source
pub trait LinkedDataDeserializer<R = Term> {
    type Error: Error<R>;

    // Required methods
    fn interpret(&mut self, term: CowTerm<'_>) -> Result<R, Self::Error>;
    fn terms_of<'a>(
        &'a self,
        resource: &'a R,
    ) -> Result<impl Iterator<Item = Result<CowTerm<'a>, Self::Error>>, Self::Error>;
    fn peek_resources<'a>(
        &'a self,
    ) -> Result<impl Iterator<Item = Result<&'a R, Self::Error>>, Self::Error>
       where R: 'a;
    fn deserialize_resource(
        &mut self,
        resource: Option<R>,
    ) -> Result<Option<R>, Self::Error>;
    fn peek_quads<'p>(
        &'p self,
        pattern: impl Into<LinearQuadPattern<&'p R>>,
    ) -> Result<impl Iterator<Item = Result<Quad<&'p R>, Self::Error>>, Self::Error>
       where R: 'p;
    fn deserialize_quad<'p>(
        &mut self,
        pattern: impl Into<LinearQuadPattern<&'p R>>,
    ) -> Result<Option<Quad<R>>, Self::Error>
       where R: 'p;

    // Provided methods
    fn as_dyn_mut<'a>(
        &'a mut self,
    ) -> &'a mut (dyn DynLinkedDataDeserializer<R, Error = Self::Error> + 'a)
       where Self: Sized { ... }
    fn is_iri(&self, resource: &R, iri: &Iri) -> Result<bool, Self::Error> { ... }
    fn peek_resource<'a>(&'a self) -> Result<Option<&'a R>, Self::Error>
       where R: 'a { ... }
    fn peek_quad<'p>(
        &'p self,
        pattern: impl Into<LinearQuadPattern<&'p R>>,
    ) -> Result<Option<Quad<&'p R>>, Self::Error>
       where R: 'p { ... }
}

Required Associated Types§

Required Methods§

Source

fn interpret(&mut self, term: CowTerm<'_>) -> Result<R, Self::Error>

Source

fn terms_of<'a>( &'a self, resource: &'a R, ) -> Result<impl Iterator<Item = Result<CowTerm<'a>, Self::Error>>, Self::Error>

Source

fn peek_resources<'a>( &'a self, ) -> Result<impl Iterator<Item = Result<&'a R, Self::Error>>, Self::Error>
where R: 'a,

Source

fn deserialize_resource( &mut self, resource: Option<R>, ) -> Result<Option<R>, Self::Error>

Source

fn peek_quads<'p>( &'p self, pattern: impl Into<LinearQuadPattern<&'p R>>, ) -> Result<impl Iterator<Item = Result<Quad<&'p R>, Self::Error>>, Self::Error>
where R: 'p,

Source

fn deserialize_quad<'p>( &mut self, pattern: impl Into<LinearQuadPattern<&'p R>>, ) -> Result<Option<Quad<R>>, Self::Error>
where R: 'p,

Provided Methods§

Source

fn as_dyn_mut<'a>( &'a mut self, ) -> &'a mut (dyn DynLinkedDataDeserializer<R, Error = Self::Error> + 'a)
where Self: Sized,

Source

fn is_iri(&self, resource: &R, iri: &Iri) -> Result<bool, Self::Error>

Source

fn peek_resource<'a>(&'a self) -> Result<Option<&'a R>, Self::Error>
where R: 'a,

Source

fn peek_quad<'p>( &'p self, pattern: impl Into<LinearQuadPattern<&'p R>>, ) -> Result<Option<Quad<&'p R>>, Self::Error>
where R: 'p,

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementations on Foreign Types§

Source§

impl<R, S: ?Sized + LinkedDataDeserializer<R>> LinkedDataDeserializer<R> for &mut S

Source§

type Error = <S as LinkedDataDeserializer<R>>::Error

Source§

fn interpret(&mut self, term: CowTerm<'_>) -> Result<R, Self::Error>

Source§

fn terms_of<'a>( &'a self, resource: &'a R, ) -> Result<impl Iterator<Item = Result<CowTerm<'a>, Self::Error>>, Self::Error>

Source§

fn peek_resources<'a>( &'a self, ) -> Result<impl Iterator<Item = Result<&'a R, Self::Error>>, Self::Error>
where R: 'a,

Source§

fn deserialize_resource( &mut self, resource: Option<R>, ) -> Result<Option<R>, Self::Error>

Source§

fn peek_quads<'p>( &'p self, pattern: impl Into<LinearQuadPattern<&'p R>>, ) -> Result<impl Iterator<Item = Result<Quad<&'p R>, Self::Error>>, Self::Error>
where R: 'p,

Source§

fn deserialize_quad<'p>( &mut self, pattern: impl Into<LinearQuadPattern<&'p R>>, ) -> Result<Option<Quad<R>>, Self::Error>
where R: 'p,

Implementors§