Trait opg::models::OpgModel

source ·
pub trait OpgModel {
    // Required methods
    fn get_schema(cx: &mut Components) -> Model;
    fn type_name() -> Option<Cow<'static, str>>;

    // Provided methods
    fn get_schema_with_params(
        cx: &mut Components,
        params: &ContextParams
    ) -> Model { ... }
    fn select_reference(
        cx: &mut Components,
        inline: bool,
        params: &ContextParams
    ) -> ModelReference { ... }
}
Expand description

Trait for schema objects generation

Required Methods§

source

fn get_schema(cx: &mut Components) -> Model

Get schema for this type

source

fn type_name() -> Option<Cow<'static, str>>

Get name of this type

Provided Methods§

source

fn get_schema_with_params(cx: &mut Components, params: &ContextParams) -> Model

Get schema for this type with context parameters applied

source

fn select_reference( cx: &mut Components, inline: bool, params: &ContextParams ) -> ModelReference

Get link or inlined schema with context parameters applied

Implementations on Foreign Types§

source§

impl<T1, T2, T3, T4> OpgModel for (T1, T2, T3, T4)where T1: OpgModel, T2: OpgModel, T3: OpgModel, T4: OpgModel,

source§

impl OpgModel for i8

source§

impl OpgModel for str

source§

impl<T> OpgModel for (T,)where T: OpgModel,

source§

impl<T> OpgModel for Arc<T>where T: OpgModel + ?Sized,

source§

impl OpgModel for f64

source§

impl<T> OpgModel for Rc<T>where T: OpgModel + ?Sized,

source§

impl<T1, T2, T3, T4, T5> OpgModel for (T1, T2, T3, T4, T5)where T1: OpgModel, T2: OpgModel, T3: OpgModel, T4: OpgModel, T5: OpgModel,

source§

impl OpgModel for AtomicI8

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9> OpgModel for (T1, T2, T3, T4, T5, T6, T7, T8, T9)where T1: OpgModel, T2: OpgModel, T3: OpgModel, T4: OpgModel, T5: OpgModel, T6: OpgModel, T7: OpgModel, T8: OpgModel, T9: OpgModel,

source§

impl OpgModel for AtomicI32

source§

impl<T1, T2, T3> OpgModel for (T1, T2, T3)where T1: OpgModel, T2: OpgModel, T3: OpgModel,

source§

impl OpgModel for isize

source§

impl OpgModel for bool

source§

impl<T> OpgModel for HashSet<T>where T: OpgModel,

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> OpgModel for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where T1: OpgModel, T2: OpgModel, T3: OpgModel, T4: OpgModel, T5: OpgModel, T6: OpgModel, T7: OpgModel, T8: OpgModel, T9: OpgModel, T10: OpgModel,

source§

impl<T> OpgModel for &Twhere T: OpgModel + ?Sized,

source§

impl OpgModel for AtomicI64

source§

impl OpgModel for ()

source§

impl<T> OpgModel for Cell<T>where T: OpgModel + ?Sized,

source§

impl OpgModel for AtomicU64

source§

impl OpgModel for i64

source§

impl OpgModel for AtomicIsize

source§

impl<T1, T2, T3, T4, T5, T6, T7> OpgModel for (T1, T2, T3, T4, T5, T6, T7)where T1: OpgModel, T2: OpgModel, T3: OpgModel, T4: OpgModel, T5: OpgModel, T6: OpgModel, T7: OpgModel,

source§

impl<T> OpgModel for Vec<T>where T: OpgModel,

source§

impl<K, T> OpgModel for HashMap<K, T>where T: OpgModel, K: Serialize,

source§

impl<T> OpgModel for [T]where T: OpgModel,

source§

impl<T> OpgModel for &mut Twhere T: OpgModel + ?Sized,

source§

impl OpgModel for char

source§

impl<T1, T2, T3, T4, T5, T6> OpgModel for (T1, T2, T3, T4, T5, T6)where T1: OpgModel, T2: OpgModel, T3: OpgModel, T4: OpgModel, T5: OpgModel, T6: OpgModel,

source§

impl<T> OpgModel for BinaryHeap<T>where T: OpgModel,

source§

impl<T> OpgModel for Box<T>where T: OpgModel + ?Sized,

source§

impl<T1, T2, T3, T4, T5, T6, T7, T8> OpgModel for (T1, T2, T3, T4, T5, T6, T7, T8)where T1: OpgModel, T2: OpgModel, T3: OpgModel, T4: OpgModel, T5: OpgModel, T6: OpgModel, T7: OpgModel, T8: OpgModel,

source§

impl OpgModel for AtomicI16

source§

impl OpgModel for u8

source§

impl OpgModel for i16

source§

impl OpgModel for u32

source§

impl OpgModel for f32

source§

impl<T> OpgModel for RefCell<T>where T: OpgModel + ?Sized,

source§

impl OpgModel for i32

source§

impl<T1, T2> OpgModel for (T1, T2)where T1: OpgModel, T2: OpgModel,

source§

impl OpgModel for AtomicBool

source§

impl OpgModel for u64

source§

impl<K, T> OpgModel for BTreeMap<K, T>where T: OpgModel, K: Serialize,

source§

impl<T, const N: usize> OpgModel for [T; N]where T: OpgModel,

source§

impl OpgModel for usize

source§

impl<T> OpgModel for Option<T>where T: OpgModel,

source§

impl OpgModel for AtomicU32

source§

impl<T> OpgModel for LinkedList<T>where T: OpgModel,

source§

impl OpgModel for AtomicU16

source§

impl OpgModel for u16

source§

impl OpgModel for AtomicUsize

source§

impl<T> OpgModel for VecDeque<T>where T: OpgModel,

source§

impl OpgModel for AtomicU8

source§

impl OpgModel for String

Implementors§