Skip to main content

ApprovalError

Enum ApprovalError 

Source
#[non_exhaustive]
pub enum ApprovalError {
Show 17 variants WrongEntityType { expected: &'static str, actual: String, }, MissingAttribute { entity: &'static str, id: EntityId, attribute: &'static str, }, InvalidValue { entity: &'static str, id: EntityId, attribute: &'static str, value: String, }, UnknownEntity { id: EntityId, }, DanglingReference { entity: &'static str, id: EntityId, attribute: &'static str, target: EntityId, }, ReferenceType { entity: &'static str, id: EntityId, attribute: &'static str, target: EntityId, expected: &'static str, actual: String, }, Semantic { entity: &'static str, id: EntityId, rule: &'static str, detail: String, }, AuthoringInvalid { entity: &'static str, attribute: &'static str, value: String, }, AuthoringReferenceType { target: EntityId, expected: &'static str, actual: String, }, MultipleSchemas { schemas: usize, }, UnsupportedSchema { schema: String, }, NotInSchema { entity: &'static str, id: EntityId, attribute: &'static str, schema: SchemaVersion, }, StructuredValue { entity: &'static str, id: EntityId, attribute: &'static str, target: EntityId, }, EntityNotInSchema { entity: &'static str, schema: SchemaVersion, }, AuthoringNotInSchema { entity: &'static str, attribute: &'static str, schema: SchemaVersion, }, AuthoringValueType { entity: &'static str, attribute: &'static str, declared: &'static str, schema: SchemaVersion, }, AuthoringRequired { entity: &'static str, attribute: &'static str, schema: SchemaVersion, },
}
Expand description

Approval projection or authoring failure.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

WrongEntityType

Entity kind differs from the requested projection.

Fields

§expected: &'static str

Expected IFC entity.

§actual: String

Actual IFC entity.

§

MissingAttribute

Required positional attribute is absent or null.

Fields

§entity: &'static str

Entity kind.

§id: EntityId

Entity identifier.

§attribute: &'static str

Attribute name.

§

InvalidValue

Attribute has the wrong value shape or cardinality.

Fields

§entity: &'static str

Entity kind.

§id: EntityId

Entity identifier.

§attribute: &'static str

Attribute name.

§value: String

Diagnostic value.

§

UnknownEntity

Requested entity is absent.

Fields

§id: EntityId

Missing identifier.

§

DanglingReference

Authored or projected reference does not resolve.

Fields

§entity: &'static str

Relationship or record kind.

§id: EntityId

Owning entity identifier.

§attribute: &'static str

Attribute name.

§target: EntityId

Missing target.

§

ReferenceType

Resolved reference is outside the declared IFC SELECT/type.

Fields

§entity: &'static str

Relationship or record kind.

§id: EntityId

Owning entity identifier.

§attribute: &'static str

Attribute name.

§target: EntityId

Referenced target.

§expected: &'static str

Expected entity or SELECT.

§actual: String

Actual entity kind.

§

Semantic

Declared WHERE-style rule failed.

Fields

§entity: &'static str

Entity kind.

§id: EntityId

Entity identifier.

§rule: &'static str

Bounded rule name.

§detail: String

Human-readable detail.

§

AuthoringInvalid

Draft value is invalid before staging.

Fields

§entity: &'static str

Entity kind.

§attribute: &'static str

Attribute or rule.

§value: String

Rejected value.

§

AuthoringReferenceType

Draft reference is outside the required entity/SELECT.

Fields

§target: EntityId

Referenced target.

§expected: &'static str

Expected entity or SELECT.

§actual: String

Actual entity kind.

§

MultipleSchemas

The model’s header declares several schemas; authoring binds to exactly one release.

Fields

§schemas: usize

Number of FILE_SCHEMA declarations.

§

UnsupportedSchema

The model’s header declares one schema this crate is not verified against (anything but IFC2X3, IFC4 and IFC4X3), so no layout can be trusted. Never read or written as another release.

Fields

§schema: String

The FILE_SCHEMA token as written.

§

NotInSchema

An accessor asked for an attribute the model’s release does not declare, such as RequestingApproval on an IFC2X3 IfcApproval. Never read from the slot another release gives it (#212).

Fields

§entity: &'static str

Entity kind.

§id: EntityId

Entity identifier.

§attribute: &'static str

The attribute, by this crate’s (IFC4) name.

§schema: SchemaVersion

The release the model is read against.

§

StructuredValue

A text accessor met an attribute the release types as an entity record, such as the IFC2X3 IfcApproval.ApprovalDateTime, an IfcDateTimeSelect. The value is valid; read it through target.

Fields

§entity: &'static str

Entity kind.

§id: EntityId

Entity identifier.

§attribute: &'static str

The attribute, by this crate’s (IFC4) name.

§target: EntityId

The entity record holding the value.

§

EntityNotInSchema

The model’s release does not declare this entity, such as IfcResourceApprovalRelationship in IFC2X3.

Fields

§entity: &'static str

The entity type.

§schema: SchemaVersion

The release the model declares.

§

AuthoringNotInSchema

A draft supplied a value for an attribute the model’s release does not declare, such as a Status for an IFC2X3 IfcApproval. It is refused rather than dropped.

Fields

§entity: &'static str

The entity type being authored.

§attribute: &'static str

The attribute, by this crate’s (IFC4) name.

§schema: SchemaVersion

The release the model declares.

§

AuthoringValueType

A draft supplied a value in a form the release’s declaration cannot hold, such as text where IFC2X3 declares an IfcDateTimeSelect record, or several related approvals where IFC2X3 declares one.

Fields

§entity: &'static str

The entity type being authored.

§attribute: &'static str

The attribute, by this crate’s (IFC4) name.

§declared: &'static str

The type the release declares.

§schema: SchemaVersion

The release the model declares.

§

AuthoringRequired

The model’s release requires an attribute the authoring call leaves unset, such as the IFC2X3 IfcRoot.OwnerHistory.

Fields

§entity: &'static str

The entity type being authored.

§attribute: &'static str

The required attribute, as the release names it.

§schema: SchemaVersion

The release the model declares.

Trait Implementations§

Source§

impl Clone for ApprovalError

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ApprovalError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ApprovalError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for ApprovalError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl PartialEq for ApprovalError

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ApprovalError

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.