@Test void testAllReferencesOf() { assertRecorded(() -> store.allReferencesOf(mock(SingleFeatureBean.class)), "allReferencesOf", CALLS_COUNT); }
@Test void testAllReferencesOf() { assertThat( catchThrowable(() -> store.allReferencesOf(mock(SingleFeatureBean.class))) ).isExactlyInstanceOf(CLOSED_EXCEPTION_TYPE); }
stream = store.allReferencesOf(bean);
@Test void testAllReferencesOf() { assertThat( catchThrowable(() -> store.allReferencesOf(mock(SingleFeatureBean.class))) ).isNull(); }
@Override public final boolean contains(InternalEObject internalObject, EStructuralFeature feature, @Nullable Object value) { checkNotNull(internalObject, "internalObject"); checkNotNull(feature, "feature"); checkState(feature.isMany(), "Cannot compute contains() of a single-valued feature"); if (isNull(value)) { return false; } PersistentEObject object = PersistentEObject.from(internalObject); refresh(object); SingleFeatureBean bean = SingleFeatureBean.from(object, feature); if (EFeatures.isAttribute(feature)) { return store.allValuesOf(bean).anyMatch(attrConverter.convert(value, EFeatures.asAttribute(feature))::equals); } else { return store.allReferencesOf(bean).anyMatch(refConverter.convert(PersistentEObject.from(value))::equals); } }
@Override public final int indexOf(InternalEObject internalObject, EStructuralFeature feature, @Nullable Object value) { checkNotNull(internalObject, "internalObject"); checkNotNull(feature, "feature"); checkState(feature.isMany(), "Cannot compute indexOf() of a single-valued feature"); if (isNull(value)) { return EStore.NO_INDEX; } PersistentEObject object = PersistentEObject.from(internalObject); refresh(object); SingleFeatureBean bean = SingleFeatureBean.from(object, feature); Optional<Integer> index; if (EFeatures.isAttribute(feature)) { index = MoreStreams.indexOf(store.allValuesOf(bean), attrConverter.convert(value, EFeatures.asAttribute(feature))); } else { index = MoreStreams.indexOf(store.allReferencesOf(bean), refConverter.convert(PersistentEObject.from(value))); } return index.orElse(EStore.NO_INDEX); }
@Override public final int lastIndexOf(InternalEObject internalObject, EStructuralFeature feature, @Nullable Object value) { checkNotNull(internalObject, "internalObject"); checkNotNull(feature, "feature"); checkState(feature.isMany(), "Cannot compute lastIndexOf() of a single-valued feature"); if (isNull(value)) { return EStore.NO_INDEX; } PersistentEObject object = PersistentEObject.from(internalObject); refresh(object); SingleFeatureBean bean = SingleFeatureBean.from(object, feature); Optional<Integer> index; if (EFeatures.isAttribute(feature)) { index = MoreStreams.lastIndexOf(store.allValuesOf(bean), attrConverter.convert(value, EFeatures.asAttribute(feature))); } else { index = MoreStreams.lastIndexOf(store.allReferencesOf(bean), refConverter.convert(PersistentEObject.from(value))); } return index.orElse(EStore.NO_INDEX); }