/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 8 - 2 0 1 9 ĠRe ece ĠH . ĠD un n Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġuk . co . re ec ed un n . intellij . plugin . base x . query . session Ċ Ċ import Ġuk . co . re ec ed un n . intellij . plugin . base x . query . session . binding . Client Session Ċ import Ġuk . co . re ec ed un n . intellij . plugin . base x . query . session . binding . Context Ċ import Ġuk . co . re ec ed un n . intellij . plugin . base x . query . session . binding . Local Session Ċ import Ġuk . co . re ec ed un n . intellij . plugin . processor . query . Query Processor Ċ import Ġuk . co . re ec ed un n . intellij . plugin . processor . query . Query Processor Instance Manager Ċ import Ġuk . co . re ec ed un n . intellij . plugin . processor . query . connection . Instance Details Ċ import Ġjava . io . File Ċ import Ġjava . net . URL ClassLoader Ċ import Ġjava . net . Unknown Host Exception Ċ Ċ internal Ġfun Ġmap Type ( type : ĠString ?): ĠString ? Ġ= Ġwhen Ġ( type ) Ġ{ ĊĠĠĠ Ġ" xs : dateTime Stamp " Ġ-> Ġ" xs : dateTime " Ġ// ĠBase X Ġdoes Ġnot Ġsupport ĠXML ĠSchema Ġ 1 . 1 ĠPart Ġ 2 ĊĠĠĠ Ġelse Ġ-> Ġtype Ċ } Ċ Ċ class ĠBase X ( private Ġval Ġclass Loader : ĠClassLoader ) Ġ: ĠQuery Processor Instance Manager Ġ{ ĊĠĠĠ Ġconstructor ( path : ĠFile ) Ġ: Ġthis ( URL ClassLoader ( array Of ( path . to URI (). to URL ()))) ĊĊĠĠĠ Ġprivate Ġval Ġcontext Ġ= ĠContext ( class Loader , Ġtrue ) ĊĊĠĠĠ Ġoverride Ġfun Ġcreate (): ĠQuery Processor Ġ= ĠBase X Query Processor ( Local Session ( context ), Ġclass Loader ) ĊĊĠĠĠ Ġoverride Ġfun Ġconnect ( settings : ĠInstance Details ): ĠQuery Processor Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( settings . hostname . isEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUnknown Host Exception ("") ĊĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠClient Session ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Loader , Ġsettings . hostname , Ġsettings . database Port , Ġsettings . username , Ġsettings . password ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠBase X Query Processor ( session , Ġclass Loader ) ĊĠĠĠ Ġ} Ċ } Ċ