/*************************************************************************** * * 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); }
/******************************************************************************************************************* * * {@inheritDoc} * ******************************************************************************************************************/ @Nonnull public ChangeBuilder without (final @Nonnull ObservationItem observationItem) { for (final Iterator<ObservableWithCardinality> i = observablesWithCardinality.iterator(); i.hasNext(); ) { final ObservableWithCardinality observableWithCardinality = i.next(); // TODO: is it enough to compare the cardinality? What about extra attributes? if (observableWithCardinality.observable.equals(observationItem.getObservable()) && observableWithCardinality.cardinality.equals(observationItem.getCardinality())) { i.remove(); initializerMap.remove(observableWithCardinality); break; } } return this; } }
@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); } } }
@Nonnull public static Cardinality approxValueOf (@Nonnegative int count) { return new Cardinality(count, count, true); }
/*************************************************************************** * * 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); }