GroupInterface.java 840B

1234567891011121314151617181920212223242526272829303132333435
  1. package com.zipcodewilmington.generic.group;
  2. import com.zipcodewilmington.generic.identifiables.IdentifiableInterface;
  3. import java.io.Serializable;
  4. import java.util.List;
  5. import java.util.function.Predicate;
  6. /**
  7. * @author leon on 05/12/2018.
  8. * @ATTENTION_TO_STUDENTS - You are forbidden from modifying this interface
  9. */
  10. public interface GroupInterface<
  11. TypeOfId extends Serializable,
  12. TypeOfEntity extends IdentifiableInterface<TypeOfId>> {
  13. Integer count();
  14. void insert(TypeOfEntity object);
  15. void delete(TypeOfEntity object);
  16. void delete(TypeOfId id);
  17. Boolean has(TypeOfEntity object);
  18. Boolean has(TypeOfId id);
  19. List<TypeOfEntity> filter(Predicate<TypeOfEntity> predicate);
  20. Class<? extends TypeOfId> getIdentityType();
  21. Class<? extends TypeOfEntity> getIdentifiableType();
  22. }