filter static method

ValidClassHolder filter(
  1. Iterable<ClassElement> classes
)

Filters the provided iterable of ClassElements to find valid classes for Firestorm. Returns a ValidClassHolder containing two lists: one for Firestore valid classes and one for RDB valid classes.

Implementation

static ValidClassHolder filter(final Iterable<ClassElement> classes) {
  //Find annotated classes:
  List<ClassElement> validClasses = findAnnotatedClasses(classes);

  //Filter out classes that do not have a public no-argument constructor:
  // annotatedClasses = findClassesWithPublicNoArgConstructor(annotatedClasses);

  //Filter out classes that do not have an ID field of type String:
  validClasses = findClassesWithIDField(validClasses);

  //Check classes for valid types:
  Set<ClassElement> fsValidClasses = checkClassesForValidFSTypes(validClasses);
  Set<ClassElement> rdbValidClasses = checkClassesForValidRDBTypes(validClasses);

  //Return a ValidClassHolder with the valid classes:
  return ValidClassHolder(fsValidClasses, rdbValidClasses);
}