/** * * @return */ @Override public String getContentSummaryString() { return "prevDurationSec=" + getPrevDurationSec() + ", nextDurationSec="+ getNextDurationSec(); }
/** * * @return */ public Double getPrevDurationSec() { if (myPrevDurationMillisec != null) { return getPrevDurationMillisec() / 1000.0; } else { return null; } } /**
/** * */ public void updateNow() { long currentTimeMsec = TimeUtils.currentTimeMillis(); long prevDurationMsec = currentTimeMsec - this.getUpdateStampMsec(); this.setPrevDurationMsec(prevDurationMsec); // Use previous duration as estimate for next duration this.setNextDurationMsec(prevDurationMsec); this.setUpdateStampMsec(currentTimeMsec); this.markUpdated(); } /**
@Override public VariableCue setVariableCue(String varName, String varVal, Double strength) { List<VariableCue> allVarCues = getAllVariableCues(); VariableCue target = null; for (VariableCue vc: allVarCues) { if (vc.getName().equals(varName)) { target = vc; target.setValue(varVal); target.setStrength(strength); break; } } if (target == null) { target = new VariableCue(varName, varVal); stampAndRegisterCue(target, strength); } return target; } /**
/** * * @param v */ public void setValue(String v) { String oldValue = myValue; myValue = v; if (((oldValue != null) && !oldValue.equals(myValue)) || ((oldValue == null) && (myValue != null))) { safelyFirePropertyChange("value", oldValue, myValue); this.markUpdatedNow(); // VariableCues should tell JMX clients when they change broadcastUpdateNotice(); } } /**
/** * * @return */ @Override public String getContentSummaryString() { return "name=" + getName() + ", textData=" + getTextData(); } }
public void extend(Integer duration){ if(myStatus == Status.RUNNING){ myEndTime += duration*1000; myDuration += duration; }else if(myStatus == Status.COMPLETED){ myEndTime = TimeUtils.currentTimeMillis() + duration*1000; myStatus = Status.RUNNING; myDuration = duration; } markUpdatedNow(); }
/** * * @param nc */ @Override public synchronized void clearMatchingNamedCues(NamedCue nc) { String name = nc.getName(); clearMatchingNamedCues(name); }
/** * * @return */ @Override public String getContentSummaryString() { return "ID: " + getThalamentID() + ", Name: " + myName; }
@Override public TimerCue addTimerCue(String timerName, Integer durationSec){ TimerCue tc = new TimerCue(timerName, durationSec); stampAndRegisterCue(tc, 1.0); return tc; } @Override public ThoughtCue addThoughtCueForName(String thoughtName, double strength){
@Override public TextCue addTextCue(String textChannelName, String textData, Double strength) { TextCue tc = new TextCue(textChannelName, textData); stampAndRegisterCue(tc, strength); return tc; }
@Override public ThoughtCue addThoughtCueForName(String thoughtName, double strength){ ThoughtCue tc = new ThoughtCue(thoughtName); stampAndRegisterCue(tc, strength); return tc; }
/** * * @param prevDurationMsec * @param nextDurationMsec * @param strength * @return */ @Override public NowCue addNowCue(Long prevDurationMsec, Long nextDurationMsec, Double strength) { NowCue nc = new NowCue(prevDurationMsec, nextDurationMsec); this.stampAndRegisterCue(nc, strength); return nc; } /**
@Override public String getContentSummaryString() { Long elapsed = 0L; if(myStatus == Status.RUNNING){ elapsed = myEndTime - TimeUtils.currentTimeMillis(); } Integer remaining = elapsed.intValue()/1000; remaining = remaining <= 0 ? 0 : remaining; return "(" + remaining + ")" + getName(); } }
public static void advanceNowCue(IntegroidFacade igf, Long nextNowDurationMsec, Double strength) { try{ NowCue nowCue = igf.getCueBroker().getSolitaryNowCue(); if (nowCue == null) { Long prevDurationMsec = 100L; // Default value to use on first now cue only nowCue = igf.getCueBroker().addNowCue(prevDurationMsec, prevDurationMsec, strength); } else { nowCue.updateNow(); } }catch(Throwable t){} } public static Integer randomWholeNumber(IntegroidFacade igf, Integer upperBoundExclusive) {
public void update(){ if(TimeUtils.currentTimeMillis() > myEndTime){ myStatus = Status.COMPLETED; } markUpdatedNow(); }
@Override public <NCT extends NamedCue> NCT getNamedCue(Class<NCT> clazz, String cueName) { List<NCT> allCues = getAllFactsMatchingClass(clazz); for (NCT cue : allCues) { String cn = cue.getName(); if (cn != null) { if (cn.equals(cueName)) { return cue; } } } return null; } }