public static <T> Task<List<T>> invokeEffectorListWithMap(EntityLocal callingEntity, Iterable<? extends Entity> entitiesToCall, final Effector<T> effector, final Map<String,?> parameters) { return invokeEffectorList(callingEntity, entitiesToCall, effector, parameters); } @SuppressWarnings("unchecked")
public static <T> Task<List<T>> invokeEffectorList(EntityLocal callingEntity, Iterable<? extends Entity> entitiesToCall, final Effector<T> effector) { return invokeEffectorList(callingEntity, entitiesToCall, effector, Collections.<String,Object>emptyMap()); }
/** @deprecated since 0.6.0 use invokeEffector */ @Deprecated public static <T> Task<List<T>> invokeEffectorWithMap(EntityLocal callingEntity, Entity entityToCall, final Effector<T> effector, final Map<String,?> parameters) { return invokeEffectorList(callingEntity, ImmutableList.of(entityToCall), effector, parameters); }
/** convenience - invokes in parallel if multiple, but otherwise invokes the item directly */ public static Task<?> invokeEffector(EntityLocal callingEntity, Iterable<? extends Entity> entitiesToCall, final Effector<?> effector, final Map<String,?> parameters) { if (Iterables.size(entitiesToCall)==1) return invokeEffector(callingEntity, entitiesToCall.iterator().next(), effector, parameters); else return invokeEffectorList(callingEntity, entitiesToCall, effector, parameters); } /** convenience - invokes in parallel if multiple, but otherwise invokes the item directly */
Entities.invokeEffectorList(this, childrenToStart, Startable.START, ImmutableMap.of("locations", locations)) .get();