hit_data/hit_mod/
hit_entry.rs1use crate::object_data::Id;
2use crate::object_data::ObjectValue;
3use crate::{index::IndexEntry, ObjectValues};
4use crate::{model::Model, IndexEntryProperty};
5use std::cell::RefCell;
6use std::rc::Rc;
7
8pub struct HitEntry {
9 pub(in crate) entry: Rc<RefCell<IndexEntry>>,
10 pub(in crate) model: Rc<Model>,
11}
12
13impl HitEntry {
14 pub fn get(&self, property: &str) -> ObjectValue {
15 let entry = self.entry.borrow();
16 return entry.get(property).clone();
17 }
18
19 pub fn get_id(&self) -> Id {
20 let entry = self.entry.borrow();
21 return entry.get_id().clone();
22 }
23
24 pub fn get_model(&self) -> Rc<Model> {
25 return self.model.clone();
26 }
27
28 pub fn get_parent_id(&self) -> Option<String> {
29 let entry = self.entry.borrow();
30 return entry.get_parent_id();
31 }
32
33 pub fn get_parent_property(&self) -> Option<String> {
34 let entry = self.entry.borrow();
35 return entry.get_parent_property();
36 }
37
38 pub fn get_parent(&self) -> Option<IndexEntryProperty> {
39 let entry = self.entry.borrow();
40 return entry.get_parent();
41 }
42
43 pub fn get_data(&self) -> ObjectValues {
44 let entry = self.entry.borrow();
45 entry.data.clone()
46 }
47}