@Override public void updateLaunchArguments(ProgramSchedule schedule, List<Notification> notifications, Map<String, String> systemArgs, Map<String, String> userArgs) { for (SatisfiableTrigger trigger : getTriggers()) { trigger.updateLaunchArguments(schedule, notifications, systemArgs, userArgs); } }
@Override public AndTrigger build(String namespace, String applicationName, String applicationVersion) { return new AndTrigger(getBuiltTriggers(namespace, applicationName, applicationVersion)); } }
@Override public OrTrigger build(String namespace, String applicationName, String applicationVersion) { return new OrTrigger(getBuiltTriggers(namespace, applicationName, applicationVersion)); } }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { for (SatisfiableTrigger trigger : getTriggers()) { if (trigger.isSatisfied(schedule, notifications)) { return true; } } return false; }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { for (Trigger trigger : getTriggers()) { if (!((SatisfiableTrigger) trigger).isSatisfied(schedule, notifications)) { return false; } } return true; }
@Override public TriggerFactory getTriggerFactory() { // the result of this won't actually be used, but the returned object will have its methods called return new DefaultTriggerFactory(NamespaceId.DEFAULT); }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { for (Notification notification : notifications) { if (isSatisfied(schedule, notification)) { return true; } } return false; }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { return getTriggerSatisfiedResult(notifications, false, new Function<ProgramRunInfo, Boolean>() { @Override public Boolean apply(ProgramRunInfo input) { return true; } }); }
/** * Get all triggers which are not composite trigger in this trigger. */ public Map<Type, Set<SatisfiableTrigger>> getUnitTriggers() { if (unitTriggers == null) { initializeUnitTriggers(); } return unitTriggers; }
protected SatisfiableTrigger[] getBuiltTriggers(String namespace, String applicationName, String applicationVersion) { int numTriggers = triggers.length; SatisfiableTrigger[] builtTriggers = new SatisfiableTrigger[numTriggers]; for (int i = 0; i < numTriggers; i++) { Trigger trigger = triggers[i]; builtTriggers[i] = trigger instanceof TriggerBuilder ? ((TriggerBuilder) trigger).build(namespace, applicationName, applicationVersion) : (SatisfiableTrigger) trigger; } return builtTriggers; } }
@Override public Trigger or(Trigger... triggers) { return new OrTriggerBuilder(triggers); }
@Override public AndTrigger build(String namespace, String applicationName, String applicationVersion) { return new AndTrigger(getBuiltTriggers(namespace, applicationName, applicationVersion)); } }
@Override public OrTrigger build(String namespace, String applicationName, String applicationVersion) { return new OrTrigger(getBuiltTriggers(namespace, applicationName, applicationVersion)); } }
@Override public void updateLaunchArguments(ProgramSchedule schedule, List<Notification> notifications, Map<String, String> systemArgs, Map<String, String> userArgs) { for (SatisfiableTrigger trigger : getTriggers()) { trigger.updateLaunchArguments(schedule, notifications, systemArgs, userArgs); } }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { for (SatisfiableTrigger trigger : getTriggers()) { if (trigger.isSatisfied(schedule, notifications)) { return true; } } return false; }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { for (Trigger trigger : getTriggers()) { if (!((SatisfiableTrigger) trigger).isSatisfied(schedule, notifications)) { return false; } } return true; }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { for (Notification notification : notifications) { if (isSatisfied(schedule, notification)) { return true; } } return false; }
@Override public boolean isSatisfied(ProgramSchedule schedule, List<Notification> notifications) { return getTriggerSatisfiedResult(notifications, false, new Function<ProgramRunInfo, Boolean>() { @Override public Boolean apply(ProgramRunInfo input) { return true; } }); }
/** * Get all triggers which are not composite trigger in this trigger. */ public Map<Type, Set<SatisfiableTrigger>> getUnitTriggers() { if (unitTriggers == null) { initializeUnitTriggers(); } return unitTriggers; }
protected SatisfiableTrigger[] getBuiltTriggers(String namespace, String applicationName, String applicationVersion) { int numTriggers = triggers.length; SatisfiableTrigger[] builtTriggers = new SatisfiableTrigger[numTriggers]; for (int i = 0; i < numTriggers; i++) { Trigger trigger = triggers[i]; builtTriggers[i] = trigger instanceof TriggerBuilder ? ((TriggerBuilder) trigger).build(namespace, applicationName, applicationVersion) : (SatisfiableTrigger) trigger; } return builtTriggers; } }