Ayuda con Reloj Despertador

Buenas Noches necesito realizar un reloj despertador con las siguientes caracteristicas:
a) Realizar algunos métodos para el comportamiento del reloj, por ejemplo Run (corriendo), Active (Activo), Stop (Parar), etc. Usar de los hilos en tiempo de ejecución.

b) Solicitar al usuario la hora exacta en la que se desea programar el despertador. Si el usuario ingresa una hora no válida, el programa deberá generar una excepción apropiada para tal error.

c) Cuando la hora programada se cumple, el despertador muestra un texto alusivo al vencimiento o cumplimiento de la hora.

Y hasta ahora solo he podido realizar el siguiente código:
package reloj;