public KIMPresenceObserver(IObservableSemantics observable) { IConcept oob = Observables.makePresence(observable.getType()); this.observable = new ObservableSemantics(oob, KLAB .c(NS.PRESENCE_OBSERVATION), observable .getFormalName()); }
public KIMPresenceObserver(IObserver observer) { super(observer); IConcept oob = Observables.makePresence(observable.getType()); this.observable = new ObservableSemantics(oob, KLAB .c(NS.PRESENCE_OBSERVATION), observable .getFormalName()); if (observer instanceof KIMPresenceObserver) { isIndirect = ((KIMPresenceObserver) observer).isIndirect; } }
public static IObserver presenceObserver(ISemantic observable) { IObservableSemantics obs = new ObservableSemantics(Observables.makePresence(observable.getType()), KLAB.c(NS.PRESENCE_OBSERVATION), CamelCase.toLowerCase(observable.getType().getLocalName(), '-')); return new KIMPresenceObserver(obs); }
@Override public IConcept getObservedType(KIMScope context, IConcept concept) { IConcept ret = concept; if (isIndirect) { try { ret = Observables.makePresence(concept); } catch (Throwable e) { // will be null and caught later. ret = null; } if (ret == null) { context.error(concept + ": presence is only assessed for things or agents. Use direct form (without 'of') for observables that are presence qualities.", getFirstLineNumber()); return concept; } } else if (!concept.is(KLAB.c(NS.CORE_PRESENCE))) { context.error(concept + ": the observable in this statement must be a presence already. Use the indirect form (with 'of') to annotate as the presence of subject observables.", getFirstLineNumber()); } return ret; }
return Observables.makeDistance(ret); case PRESENCE: return Observables.makePresence(ret); case PROBABILITY: return Observables.makeProbability(ret);
break; case PRESENCE: ret = Observables.makePresence(ret); break; case PROBABILITY:
IConcept.class); STREAM = checkClass(KLAB.MMANAGER.getExportedKnowledge(STREAM_CONCEPT), IConcept.class); STREAM_PRESENCE = Observables.makePresence( checkClass(KLAB.MMANAGER.getExportedKnowledge(STREAM_CONCEPT), IConcept.class)); ATMOSPHERIC_TEMPERATURE = checkClass(
ret = Observables.makePresence(ret);