pub struct AuthorityMarcReader<R: Read> { /* private fields */ }Expand description
Reader for ISO 2709 binary MARC Authority records.
AuthorityMarcReader reads Authority record data and converts it to
AuthorityRecord instances. It reuses the same binary format as bibliographic
records but organizes fields by their functional role (heading, tracings, notes, etc.).
§Backends
The reader automatically detects the input source:
- File paths →
RustFilebackend (parallel-safe) - Bytes/BytesIO →
CursorBackend(parallel-safe) - Python file objects →
PythonFile(sequential, requires GIL)
Implementations§
Source§impl<R: Read> AuthorityMarcReader<R>
impl<R: Read> AuthorityMarcReader<R>
Sourcepub fn with_recovery_mode(self, mode: RecoveryMode) -> Self
pub fn with_recovery_mode(self, mode: RecoveryMode) -> Self
Set the recovery mode for handling malformed records.
The recovery mode determines how the reader handles truncated or malformed Authority records:
Strict: Return errors immediately (default)Lenient: Attempt to recover and salvage valid dataPermissive: Be very lenient, accepting partial data
Sourcepub fn read_record(&mut self) -> Result<Option<AuthorityRecord>>
pub fn read_record(&mut self) -> Result<Option<AuthorityRecord>>
Read the next Authority record from the stream.
Returns Ok(None) when the end of file is reached.
§Errors
Returns an error if the binary data is malformed or an I/O error occurs.
Trait Implementations§
Auto Trait Implementations§
impl<R> Freeze for AuthorityMarcReader<R>where
R: Freeze,
impl<R> RefUnwindSafe for AuthorityMarcReader<R>where
R: RefUnwindSafe,
impl<R> Send for AuthorityMarcReader<R>where
R: Send,
impl<R> Sync for AuthorityMarcReader<R>where
R: Sync,
impl<R> Unpin for AuthorityMarcReader<R>where
R: Unpin,
impl<R> UnsafeUnpin for AuthorityMarcReader<R>where
R: UnsafeUnpin,
impl<R> UnwindSafe for AuthorityMarcReader<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more