ODCLImporter

Struct ODCLImporter 

Source
pub struct ODCLImporter { /* private fields */ }
Expand description

ODCL parser service for parsing legacy Open Data Contract Language YAML files. Handles Data Contract Specification format and simple ODCL format.

For ODCS v3.1.0 format, use ODCSImporter instead.

Implementations§

Source§

impl ODCLImporter

Source

pub fn new() -> ODCLImporter

Create a new ODCL parser instance.

§Example
use data_modelling_core::import::odcl::ODCLImporter;

let mut importer = ODCLImporter::new();
Source

pub fn import( &mut self, yaml_content: &str, ) -> Result<ImportResult, ImportError>

Import ODCL YAML content and create Table (SDK interface).

Supports Data Contract Specification format and simple ODCL format.

§Arguments
  • yaml_content - ODCL YAML content as a string
§Returns

An ImportResult containing the extracted table and any parse errors.

§Example
use data_modelling_core::import::odcl::ODCLImporter;

let mut importer = ODCLImporter::new();
let yaml = r#"
dataContractSpecification: 0.9.3
id: urn:datacontract:example
models:
  users:
    fields:
      id:
        type: bigint
"#;
let result = importer.import(yaml).unwrap();
assert_eq!(result.tables.len(), 1);
Source

pub fn parse_table( &mut self, yaml_content: &str, ) -> Result<(Table, Vec<ParserError>), Error>

Parse ODCL YAML content and create Table (public method for native app use).

This method returns the full Table object with all metadata, suitable for use in native applications that need direct access to the parsed table structure. For API use, prefer the import() method which returns ImportResult.

§Returns

Returns a tuple of (Table, list of errors/warnings). Errors list is empty if parsing is successful.

Source

pub fn can_handle(&self, yaml_content: &str) -> bool

Check if this importer can handle the given YAML content.

Returns true if the content is in ODCL format (Data Contract Specification or simple ODCL format), false if it’s in ODCS v3.x format.

Trait Implementations§

Source§

impl Default for ODCLImporter

Source§

fn default() -> ODCLImporter

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more