private LineType parseLine ( final LineType previousLineType , final String line ) throws ExceptionParseException { switch ( previousLineType ) { case PRE_START : return this . parseLine ( line , LineType . CAUSE , LineType . PRE_START ) ; case CAUSE : case SUB_CAUSE : case PRE_STACK_TRACE : return this . parseLine ( line , LineType . STACK_TRACE , LineType . PRE_STACK_TRACE ) ; case STACK_TRACE : return this . parseLine ( line , LineType . STACK_TRACE , LineType . STACK_TRACE_END , LineType . SUB_CAUSE ) ; case STACK_TRACE_END : return this . parseLine ( line , LineType . SUB_CAUSE , LineType . POST_END ) ; case POST_END : return this . parseLine ( line , LineType . POST_END ) ; default : throw new IllegalArgumentException ( "Unsupported line type: " + previousLineType ) ; } }
Parse one line in the log .