synchronized long calculateNextExpiration ( ) { boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( tc , "calculateNextExpiration: " + this ) ; ivLastExpiration = ivExpiration ; // 598265 if ( ivParsedScheduleExpression != null ) { // F7437591.codRev - getNextTimeout returns -1 for "no more timeouts", // but this class uses ivExpiration=0. ivExpiration = Math . max ( 0 , ivParsedScheduleExpression . getNextTimeout ( ivExpiration ) ) ; } else { if ( ivInterval > 0 ) { ivExpiration += ivInterval ; // 597753 } else { ivExpiration = 0 ; } } if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( tc , "calculateNextExpiration: " + ivExpiration ) ; // 597753 return ivExpiration ; }
Calculate the next time that the timer should fire .