1use std::fmt::Display;
2
3#[derive(Debug)]
4pub enum Error {
5 JniError(jni::errors::Error),
6 ImpossibleError,
7}
8
9impl From<jni::errors::Error> for Error {
10 fn from(err: jni::errors::Error) -> Self {
11 Error::JniError(err)
12 }
13}
14
15impl Display for Error {
16 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17 match self {
18 Error::JniError(err) => err.fmt(f),
19 Error::ImpossibleError => f.write_str("Impossible Error."),
20 }
21 }
22}
23
24#[derive(Debug)]
25pub enum InitError {
26 JvmError(jni::JvmError),
27 StartJvmError(jni::errors::StartJvmError),
28 JniError(jni::errors::Error),
29 IsNotDatasource,
30 NoFactory,
31}
32
33impl From<jni::JvmError> for InitError {
34 fn from(err: jni::JvmError) -> Self {
35 InitError::JvmError(err)
36 }
37}
38
39impl From<jni::errors::StartJvmError> for InitError {
40 fn from(err: jni::errors::StartJvmError) -> Self {
41 InitError::StartJvmError(err)
42 }
43}
44
45impl From<jni::errors::Error> for InitError {
46 fn from(err: jni::errors::Error) -> Self {
47 InitError::JniError(err)
48 }
49}
50
51impl Display for InitError {
52 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
53 match self {
54 InitError::JvmError(err) => err.fmt(f),
55 InitError::StartJvmError(err) => err.fmt(f),
56 InitError::JniError(err) => err.fmt(f),
57 InitError::IsNotDatasource => f.write_str("IsNotDatasource"),
58 InitError::NoFactory => f.write_str("NoFactory"),
59 }
60 }
61}