pub struct Zengin { /* private fields */ }
Expand description
The Zengin
struct represents a collection of banks and their branches.
This struct provides methods to load bank and branch data from JSON files, and to retrieve information about banks and branches.
Implementations§
Source§impl Zengin
impl Zengin
Sourcepub fn new() -> Result<Zengin, Box<dyn Error>>
pub fn new() -> Result<Zengin, Box<dyn Error>>
Creates a new instance of Zengin
by loading bank and branch data from JSON files.
This function reads the banks.json
file to load bank data and then reads
corresponding branch JSON files for each bank to load branch data.
§Errors
Returns an error if any of the JSON files cannot be read or parsed.
§Examples
use zengin::Zengin;
let zengin = Zengin::new().unwrap();
Sourcepub fn get_bank(&self, code: &str) -> Option<&Bank>
pub fn get_bank(&self, code: &str) -> Option<&Bank>
Retrieves a reference to a bank by its code.
This function takes a bank code as input and returns an Option
containing
a reference to the corresponding Bank
if it exists.
§Arguments
code
- A string slice that holds the bank code.
§Examples
use zengin::Zengin;
let zengin = Zengin::new().unwrap();
if let Some(bank) = zengin.get_bank("0001") {
println!("Found bank: {}", bank.name);
}
Sourcepub fn find_banks_by_name(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
pub fn find_banks_by_name(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
Finds banks by their name using a regular expression pattern.
This function takes a regular expression pattern as input and returns a vector of references to the banks whose names match the pattern.
§Arguments
pattern
- A string slice that holds the regular expression pattern.
§Errors
Returns an error if the regular expression pattern is invalid.
§Examples
use zengin::Zengin;
let zengin = Zengin::new().unwrap();
let banks = zengin.find_banks_by_name(".*みずほ.*").unwrap();
for bank in banks {
println!("Found bank: {}", bank.name);
}
Sourcepub fn find_banks_by_kana(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
pub fn find_banks_by_kana(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
Finds banks by their kana name using a regular expression pattern.
This function takes a regular expression pattern as input and returns a vector of references to the banks whose names match the pattern.
§Arguments
pattern
- A string slice that holds the regular expression pattern.
§Errors
Returns an error if the regular expression pattern is invalid.
§Examples
use zengin::Zengin;
let zengin = Zengin::new().unwrap();
let banks = zengin.find_banks_by_kana(".*ミズホ.*").unwrap();
for bank in banks {
println!("Found bank: {}", bank.name);
}
Sourcepub fn find_banks_by_hira(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
pub fn find_banks_by_hira(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
Finds banks by their hiragana name using a regular expression pattern.
This function takes a regular expression pattern as input and returns a vector of references to the banks whose names match the pattern.
§Arguments
pattern
- A string slice that holds the regular expression pattern.
§Errors
Returns an error if the regular expression pattern is invalid.
§Examples
use zengin::Zengin;
let zengin = Zengin::new().unwrap();
let banks = zengin.find_banks_by_hira(".*みずほ.*").unwrap();
for bank in banks {
println!("Found bank: {}", bank.name);
}
Sourcepub fn find_banks_by_roma(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
pub fn find_banks_by_roma(&self, pattern: &str) -> Result<Vec<&Bank>, Error>
Finds banks by their romanized name using a regular expression pattern.
This function takes a regular expression pattern as input and returns a vector of references to the banks whose names match the pattern.
§Arguments
pattern
- A string slice that holds the regular expression pattern.
§Errors
Returns an error if the regular expression pattern is invalid.
§Examples
use zengin::Zengin;
let zengin = Zengin::new().unwrap();
let banks = zengin.find_banks_by_roma(".*mizuho.*").unwrap();
for bank in banks {
println!("Found bank: {}", bank.name);
}
Sourcepub fn all_banks(&self) -> &HashMap<String, Bank>
pub fn all_banks(&self) -> &HashMap<String, Bank>
Retrieves a reference to all banks.
This function returns a reference to the internal HashMap
containing all banks.
§Examples
use zengin::Zengin;
let zengin = Zengin::new().unwrap();
let banks = zengin.all_banks();
for (code, bank) in banks {
println!("Bank code: {}, Bank name: {}", code, bank.name);
}