package testjpa;

import java.util.Collection;

/**
 * A facade to the application functionnalities.
 * @author rosmord
 */
public interface ClassRoomFacade {
    
    Professor getProfessor(Long id);
    
    Professor createProfessor(String name);

    Student createStudent(String name, StudentGroup group);
    
    CourseDomain createCourseDomain(String label );
    
    Course createCourse(String title, Professor professor, 
            StudentGroup group, Collection<CourseDomain> domains);
    
    Collection<Professor> findProfessorByName(String name);
    
    Collection<Professor> findAllProfessors();
    
    Collection<Course> findAllCourses();
    
    Collection<CourseDomain> findAllCourseDomain();
    
    Collection<Student> findAllStudents();
    
    Collection<StudentGroup> findAllStudentGroups();    
}

