pub struct CharacterFilterLoader {}Implementations§
Source§impl CharacterFilterLoader
impl CharacterFilterLoader
Sourcepub fn load_from_value(
kind: &str,
value: &Value,
) -> LinderaResult<BoxCharacterFilter>
pub fn load_from_value( kind: &str, value: &Value, ) -> LinderaResult<BoxCharacterFilter>
Loads a character filter based on the specified kind and configuration value.
§Arguments
kind- A string slice representing the type of the character filter to be loaded. This string must match one of the supported filter types.value- Aserde_json::Valuethat contains the configuration for the filter. The structure of this value depends on the filter type.
§Returns
Returns a LinderaResult<BoxCharacterFilter>, which is a boxed character filter, or an error if the filter type is unsupported or if the configuration fails to load.
§Supported Filters
JAPANESE_ITERATION_MARK_CHARACTER_FILTER_NAME: Loads aJapaneseIterationMarkCharacterFilter.MAPPING_CHARACTER_FILTER_NAME: Loads aMappingCharacterFilter.REGEX_CHARACTER_FILTER_NAME: Loads aRegexCharacterFilter.UNICODE_NORMALIZE_CHARACTER_FILTER_NAME: Loads aUnicodeNormalizeCharacterFilter.
§Errors
- If the
kinddoes not match any of the supported filters, an error is returned. - If the configuration (
value) for a filter is invalid, an error is returned during deserialization.
§Details
- This function uses the
kindargument to determine which specific character filter to load. It matches thekindstring to a filter name, deserializes thevalueinto the appropriate filter configuration, and then constructs the corresponding filter. - If the
kinddoes not match any supported filters, the function returns a deserialization error with an appropriate error message.
Sourcepub fn load_from_cli_flag(cli_flag: &str) -> LinderaResult<BoxCharacterFilter>
pub fn load_from_cli_flag(cli_flag: &str) -> LinderaResult<BoxCharacterFilter>
Loads a character filter based on a CLI flag string.
§Arguments
cli_flag- A string slice representing the command-line interface (CLI) flag used to specify the character filter. The flag typically contains both the filter kind and its arguments.
§Returns
Returns a LinderaResult<BoxCharacterFilter>, which is a boxed character filter, or an error if the CLI flag is invalid or the filter configuration cannot be loaded.
§Process
- Parse CLI flag:
- The
parse_cli_flagfunction is called to extract the filter kind and its arguments from thecli_flagstring.
- The
- Load filter from parsed values:
- The filter kind and arguments are passed to
load_from_value, which constructs the appropriate character filter based on the parsed values.
- The filter kind and arguments are passed to
§Errors
- If the CLI flag cannot be parsed, an error is returned.
- If the filter kind or its configuration is invalid, an error is returned during the filter loading process.
§Details
- The CLI flag is parsed into a filter kind and arguments. These are then used to load the appropriate character filter using the
load_from_valuefunction.
Auto Trait Implementations§
impl Freeze for CharacterFilterLoader
impl RefUnwindSafe for CharacterFilterLoader
impl Send for CharacterFilterLoader
impl Sync for CharacterFilterLoader
impl Unpin for CharacterFilterLoader
impl UnsafeUnpin for CharacterFilterLoader
impl UnwindSafe for CharacterFilterLoader
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.