/******************************************************************************************************************* * * ******************************************************************************************************************/ @Nonnull public <T extends Listener> T visit (final @Nonnull T listener) { listener.begin(observationSet); for (final Observation observation : observationSet.find(Observation).results()) { listener.beginVisit(observation); for (final ObservationItem item : observation.findObservationItems().results()) { listener.visit(item); } listener.endVisit(observation); } listener.end(observationSet); return listener; } }
/******************************************************************************************************************* * * ******************************************************************************************************************/ protected void fireNotifyCleared() { final Event event = new Event(this, null, null); fire(new ListenerTask() { public void run (final @Nonnull Listener listener) { listener.notifyCleared(event); } }); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ protected SimpleObservationChangeBuilder (final @Nonnull SimpleObservationSet observationSet, final @Nonnull Observation originalObservation) { super(observationSet); this.originalObservation = originalObservation; at(originalObservation.getDate()); at(originalObservation.getLocation()); for (final Observer observer : originalObservation.findObservers().results()) { by(observer); } for (final ObservationItem observationItem : originalObservation.findObservationItems().results()) { of(observationItem.getObservable(), observationItem.getCardinality()); } }
@Nonnull public Finder<Observable> create (final @Nonnull SimpleObservationSet observationSet) { final Set<Observable> observables = new HashSet<Observable>(); for (final Observation observation : observationSet.observations) { for (final ObservationItem observationItem : observation.findObservationItems().results()) { observables.add(observationItem.getObservable()); } } return new SimpleFinderSupport<Observable>(observables); } };
@Nonnull public Finder<Observer> create (final @Nonnull SimpleObservationSet observationSet) { final Set<Observer> observers = new HashSet<Observer>(); for (final Observation observation : observationSet.observations) { for (final Observer observer : observation.findObservers().results()) { observers.add(observer); } } return new SimpleFinderSupport<Observer>(observers); } };
@Override @Nonnull public void marshal (final @Nonnull As entity, final @Nonnull Context context) { super.marshal(entity, context); final ObservationItem observationItem = (ObservationItem)entity; context.addStatement(observationItem, Vocabulary.RDF_TYPE, Vocabulary.FOAF_DOCUMENT); context.addStatement(observationItem, Vocabulary.RDF_TYPE, Vocabulary.OBSERVATION_ITEM); context.addStatement(observationItem, Vocabulary.FOAF_TOPIC, observationItem.getObservable()); final Cardinality cardinality = observationItem.getCardinality(); if (!cardinality.equals(Cardinality.UNDEFINED)) { context.addStatement(observationItem, Vocabulary.CARDINALITY, cardinality); } } }
@Override @Nonnull public void marshal (final @Nonnull As entity, final @Nonnull Context context) { super.marshal(entity, context); final ObservationSet observationSet = (ObservationSet)entity; context.addStatement(observationSet, Vocabulary.RDF_TYPE, Vocabulary.OBSERVATION_SET); for (final Observation observation : observationSet.find(Observation.class).results()) { context.addStatement(observationSet, Vocabulary.SKOS_NARROWER, observation); } } }
public int compare (final @Nonnull ObservationItem o1, final @Nonnull ObservationItem o2) { return DISPLAYABLE_COMPARATOR.compare(o1.getObservable().as(Displayable), o2.getObservable().as(Displayable)); } };
/*************************************************************************** * * Creates a cardinality as a precise value. * * @param count the value * **************************************************************************/ @Nonnull public static Cardinality valueOf (@Nonnegative int count) { return new Cardinality(count, count, false); }
public void run (final @Nonnull Listener listener) { listener.notifyObservationAdded(event); } });
public void run (final @Nonnull Listener listener) { listener.notifyObservationRemoved(event); } });
public void run (final @Nonnull Listener listener) { listener.notifyObservationChanged(event); } });
public void run (final @Nonnull Listener listener) { listener.notifyCleared(event); } });
@Nonnull public static TextNote note (final @Nonnull String string) { return new TextNote(string); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ protected void fireObservationAdded (final @Nonnull Observation observation) { final Event event = new Event(this, observation, null); fire(new ListenerTask() { public void run (final @Nonnull Listener listener) { listener.notifyObservationAdded(event); } }); }
@Nonnull public static Cardinality approxValueOf (@Nonnegative int count) { return new Cardinality(count, count, true); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ protected void fireObservationRemoved (final @Nonnull Observation oldObservation) { final Event event = new Event(this, null, oldObservation); fire(new ListenerTask() { public void run (final @Nonnull Listener listener) { listener.notifyObservationRemoved(event); } }); }
/*************************************************************************** * * Creates a cardinality as a closed range. * * @param min the lower limit of the range * @param max the upper limit of the range * **************************************************************************/ @Nonnull public static Cardinality rangeOf (@Nonnegative int min, @Nonnegative int max) { return new Cardinality(min, max, false); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ protected void fireObservationChanged (final @Nonnull Observation observation, final @Nonnull Observation oldObservation) { final Event event = new Event(this, observation, oldObservation); fire(new ListenerTask() { public void run (final @Nonnull Listener listener) { listener.notifyObservationChanged(event); } }); }