#[non_exhaustive]pub enum PropertyError {
MissingEntity {
id: EntityId,
},
NotAQuantity {
id: EntityId,
type_name: String,
},
NotAQuantitySet {
id: EntityId,
type_name: String,
},
AuthoringInvalid {
entity: &'static str,
attribute: &'static str,
value: String,
},
MultipleSchemas {
schemas: usize,
},
UnsupportedSchema {
schema: String,
},
EntityNotInSchema {
entity: &'static str,
schema: SchemaVersion,
},
AuthoringNotInSchema {
entity: &'static str,
attribute: &'static str,
schema: SchemaVersion,
},
MalformedEntitySlots {
id: EntityId,
type_name: String,
expected: usize,
actual: usize,
},
AuthoringRequired {
entity: &'static str,
attribute: &'static str,
schema: SchemaVersion,
},
}Expand description
A refused authoring request.
Distinct from PropertyAnomaly, which reports what a FILE got wrong.
These say the CALLER asked for something the schema does not allow, and
are returned before anything is staged so a rejected edit never reaches
a transaction.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
MissingEntity
The entity is not in the model.
NotAQuantity
The entity is not a simple quantity type.
NotAQuantitySet
The entity is not an IfcElementQuantity.
AuthoringInvalid
An authored attribute value is not valid for its slot.
Raised before staging, so a rejected draft never reaches the model.
Fields
MultipleSchemas
The model’s header declares several schemas; authoring binds to exactly one release.
UnsupportedSchema
The model’s header declares one schema with no bundled table, so no layout can be trusted.
EntityNotInSchema
The model’s release does not declare this entity, such as
IfcQuantityNumber (IFC4X3 only) in an IFC2X3 or IFC4 model.
Fields
schema: SchemaVersionThe release the model declares.
AuthoringNotInSchema
An authoring call supplied a value for an attribute the model’s
release does not declare, such as a Formula for an IFC2X3
quantity. It is refused rather than dropped.
Fields
schema: SchemaVersionThe release the model declares.
MalformedEntitySlots
The record to edit does not have the attribute count its release declares, so no slot in it can be trusted.
Fields
AuthoringRequired
The model’s release requires an attribute the authoring call leaves
unset, such as the IFC2X3 IfcRoot.OwnerHistory (#191). It is refused
rather than written as $; the *_with_owner_history writers take
the IfcOwnerHistory IFC2X3 needs.
Trait Implementations§
Source§impl Clone for PropertyError
impl Clone for PropertyError
Source§impl Debug for PropertyError
impl Debug for PropertyError
Source§impl Display for PropertyError
impl Display for PropertyError
impl Eq for PropertyError
Source§impl Error for PropertyError
impl Error for PropertyError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()