public Trigger createTrigger( long timestamp, // current time String[] calendarNames, Calendars calendars ) { if ( this.durations == null ) { throw new IllegalStateException( "CompositeMaxDurationTimer cannot have no durations" ); } Date maxDurationDate = new Date( getMaxDuration() + timestamp ); return new CompositeMaxDurationTrigger( maxDurationDate, timer != null ? timer.createTrigger( timestamp, calendarNames, calendars ) : null, calendarNames, calendars ); }
((CompositeMaxDurationTimer) timer).addDurationTimer( durationTimer ); } else { if ( timer == null ) { } else { CompositeMaxDurationTimer temp = new CompositeMaxDurationTimer(); if ( timer instanceof DurationTimer ) { temp.addDurationTimer( (DurationTimer) timer ); } else { temp.setTimer( context.getRule().getTimer() ); temp.addDurationTimer( durationTimer ); timer = temp;
public Trigger createTrigger( Activation item, WorkingMemory wm ) { long timestamp = ((InternalWorkingMemory) wm).getTimerService().getCurrentTime(); String[] calendarNames = item.getRule().getCalendars(); Calendars calendars = ((InternalWorkingMemory) wm).getCalendars(); return createTrigger( timestamp, calendarNames, calendars ); }