pub trait DbKind:
Debug
+ AsAny
+ Sync
+ Send {
// Required method
fn validate(&self, key: &Token, block: &Block, data: &Everything);
// Provided methods
fn add_subitems(&self, _key: &Token, _block: &Block, _db: &mut Db) { ... }
fn has_property(
&self,
_key: &Token,
_block: &Block,
_property: &str,
_data: &Everything,
) -> bool { ... }
fn validate_call(
&self,
_key: &Token,
_block: &Block,
_from: &Token,
_from_block: &Block,
_data: &Everything,
_sc: &mut ScopeContext,
) { ... }
fn validate_use(
&self,
_key: &Token,
_block: &Block,
_data: &Everything,
_call_key: &Token,
_call_block: &Block,
) { ... }
fn validate_property_use(
&self,
_key: &Token,
_block: &Block,
_property: &Token,
_caller: &str,
_data: &Everything,
) { ... }
fn set_property(&mut self, _key: &Token, _block: &Block, _property: &str) { ... }
}
Required Methods§
fn validate(&self, key: &Token, block: &Block, data: &Everything)
Provided Methods§
Sourcefn add_subitems(&self, _key: &Token, _block: &Block, _db: &mut Db)
fn add_subitems(&self, _key: &Token, _block: &Block, _db: &mut Db)
Add additional items that are implied by the current item, for example buildings that add
BuildingFlag
items. It’s done in a separate pass so that items that were later overridden
don’t add their subitems.