Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
239 changes: 0 additions & 239 deletions README.md

This file was deleted.

39 changes: 39 additions & 0 deletions src/main/java/com/classroom/Alumni.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.classroom;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Component
public class Alumni {

final
Classroom prevCohort;


public Alumni(@Qualifier("previousCohort") Classroom prevCohort) {
this.prevCohort = prevCohort;
}

@PostConstruct
public void executeBootcamp(){
int numberOfInstructors = prevCohort.getInstructors().size();
int numberOfStudents = prevCohort.getStudents().size();

double numberOfHoursToTeachEachStudent = 1200;
double numberOfHoursToTeach = numberOfHoursToTeachEachStudent * numberOfStudents; //1200*4 = 4800
double numberOfHoursPerInstructor = numberOfHoursToTeach / numberOfInstructors; //4800/2 = 2400

for(Instructor teach: prevCohort.getInstructors()){
for(Student stud: prevCohort.getStudents()){
teach.teach(stud, numberOfHoursPerInstructor);
}
}
}

public Classroom getPrevCohort() {
return prevCohort;
}

}
26 changes: 26 additions & 0 deletions src/main/java/com/classroom/Classroom.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.classroom;

import java.util.List;

public class Classroom {

private List<Instructor> Instructors;
private List<Student> Students;

public Classroom(List<Instructor> persons, List<Student> students){
this.Instructors = persons;
this.Students = students;
}

public void hostLecture(Teacher teacher, double numberOfHours){
teacher.lecture(Students, numberOfHours);
}

public List<Instructor> getInstructors() {
return Instructors;
}

public List<Student> getStudents() {
return Students;
}
}
13 changes: 13 additions & 0 deletions src/main/java/com/classroom/ClassroomApplication.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.classroom;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ClassroomApplication {

public static void main(String[] args) {
SpringApplication.run(ClassroomApplication.class, args);
}

}
45 changes: 45 additions & 0 deletions src/main/java/com/classroom/ClassroomConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.classroom;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.ArrayList;
import java.util.List;

@Configuration
public class ClassroomConfig {

@Bean(name = "currentCohort")
public Classroom currentCohort(){

List<Instructor> instructors = new ArrayList<>();
List<Student> students = new ArrayList<>();

instructors.add(new Instructor(100l, "Zan"));
instructors.add(new Instructor(101l, "Brian"));

students.add(new Student(1l, "Cedric"));
students.add(new Student(2l, "Lolu"));
students.add(new Student(3l, "Apoorva"));
students.add(new Student(4l, "Stephen"));

return new Classroom(instructors, students);
}

@Bean(name = "previousCohort")
public Classroom previousCohort(){

List<Instructor> instructors = new ArrayList<>();
List<Student> students = new ArrayList<>();

instructors.add(new Instructor(102l, "Kaleb"));
instructors.add(new Instructor(103l, "Tutor"));

students.add(new Student(5l, "Charu"));
students.add(new Student(6l, "Robert"));
students.add(new Student(7l, "user iphone 83"));
students.add(new Student(8l, "Jessica"));

return new Classroom(instructors, students);
}
}
29 changes: 29 additions & 0 deletions src/main/java/com/classroom/Instructor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.classroom;

public class Instructor extends Person implements Teacher {

public Instructor(){
this(null, null);
}

public Instructor(Long ID, String name){
super(ID, name);
}

@Override
public void teach(Learner learner, double numberOfHours) {
learner.learn(numberOfHours);
}

@Override
public void lecture(Iterable<? extends Learner> learners, double numberOfHours) {
Integer numOfStudents =0;
for(Learner s:learners){
numOfStudents += 1;
}

for(Learner s:learners){
s.learn(numberOfHours/numOfStudents);
}
}
}
Loading