1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 class WaitForInput extends java.lang.Thread 24 { 25 private Object m_aToNotify; 26 private boolean m_bDone; 27 WaitForInput( Object aToNotify )28 public WaitForInput( Object aToNotify ) 29 { 30 m_aToNotify = aToNotify; 31 m_bDone = false; 32 } 33 isDone()34 public boolean isDone() 35 { 36 return m_bDone; 37 } 38 run()39 public void run() 40 { 41 try 42 { 43 System.out.println( "\npress 'enter' to exit demo" ); 44 System.in.read(); 45 46 m_bDone = true; 47 // notify that the user pressed the key 48 synchronized (m_aToNotify) 49 { 50 m_aToNotify.notify(); 51 } 52 } 53 catch( java.lang.Exception e ) 54 { 55 // not really interested in 56 System.err.println( e ); 57 } 58 } 59 }; 60 61