package com.github.ryanbrainard.richsobjects.filters;

import com.github.ryanbrainard.richsobjects.api.model.SObjectDescription;

import java.util.Iterator;

/**
 * @author Ryan Brainard
 */
public class FullCrudTypesOnlyFilter extends IteratorFilter<SObjectDescription> {

    public FullCrudTypesOnlyFilter(Iterator<SObjectDescription> filteree) {
        super(filteree);
    }

    @Override
    boolean canBeNext(SObjectDescription maybeNext) {
        return maybeNext.isCreateable() &&
               maybeNext.isQueryable()  &&
               maybeNext.isUpdateable() &&
               maybeNext.isDeletable();
    }
}

@@ -102,16 +102,21 @@
 i.model.
+Basic
 SObjectD
@@ -249,16 +249,21 @@
 rFilter%3C
+Basic
 SObjectD
@@ -321,16 +321,21 @@
 terator%3C
+Basic
 SObjectD
@@ -426,16 +426,21 @@
 nBeNext(
+Basic
 SObjectD

Make FullCrudTypesOnlyFilter operate on BasicSObjectDescription