public void open ( ) { isRunning = true ; // print welcome terminal . writer ( ) . append ( CliStrings . MESSAGE_WELCOME ) ; // begin reading loop while ( isRunning ) { // make some space to previous command terminal . writer ( ) . append ( "\n" ) ; terminal . flush ( ) ; final String line ; try { line = lineReader . readLine ( prompt , null , ( MaskingCallback ) null , null ) ; } catch ( UserInterruptException e ) { // user cancelled line with Ctrl+C continue ; } catch ( EndOfFileException | IOError e ) { // user cancelled application with Ctrl+D or kill break ; } catch ( Throwable t ) { throw new SqlClientException ( "Could not read from command line." , t ) ; } if ( line == null ) { continue ; } final Optional < SqlCommandCall > cmdCall = parseCommand ( line ) ; cmdCall . ifPresent ( this :: callCommand ) ; } }
Opens the interactive CLI shell .