jdbc 0.1.0

Rust bindings to the Java Jdbc.
Documentation
use std::fmt::Display;

#[derive(Debug)]
pub enum Error {
    JniError(jni::errors::Error),
    ImpossibleError,
}

impl From<jni::errors::Error> for Error {
    fn from(err: jni::errors::Error) -> Self {
        Error::JniError(err)
    }
}

impl Display for Error {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match self {
            Error::JniError(err) => err.fmt(f),
            Error::ImpossibleError => f.write_str("Impossible Error."),
        }
    }
}

#[derive(Debug)]
pub enum InitError {
    JvmError(jni::JvmError),
    StartJvmError(jni::errors::StartJvmError),
    JniError(jni::errors::Error),
    IsNotDatasource,
    NoFactory,
}

impl From<jni::JvmError> for InitError {
    fn from(err: jni::JvmError) -> Self {
        InitError::JvmError(err)
    }
}

impl From<jni::errors::StartJvmError> for InitError {
    fn from(err: jni::errors::StartJvmError) -> Self {
        InitError::StartJvmError(err)
    }
}

impl From<jni::errors::Error> for InitError {
    fn from(err: jni::errors::Error) -> Self {
        InitError::JniError(err)
    }
}

impl Display for InitError {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match self {
            InitError::JvmError(err) => err.fmt(f),
            InitError::StartJvmError(err) => err.fmt(f),
            InitError::JniError(err) => err.fmt(f),
            InitError::IsNotDatasource => f.write_str("IsNotDatasource"),
            InitError::NoFactory => f.write_str("NoFactory"),
        }
    }
}