Skip to content
Commits on Source (3)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.ldnr.mathieu</groupId>
<artifactId>Auberge_Espagnole</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
</project>
\ No newline at end of file
import model.Attendance;
import model.Inn;
import model.Meal;
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
/**
*
* @author stag
*/
public class MainClass {
public static void main(String[] args) {
Inn inn = new Inn();
Attendance mathieu = new Attendance("Hazera", "Mathieu", "0589542303", 3, "");
Attendance brel = new Attendance("Brel", "Jacques", "0589563903", 5, "Avec 15 min de retard");
Attendance clay = new Attendance("Clay", "Cassius", "0401542303", 1, "");
mathieu.addMeal(Meal.CHEESES, 4);
mathieu.addMeal(Meal.STARTERS, 2);
mathieu.addMeal(Meal.MAIN_COURSES, 1);
inn.add(mathieu);
brel.addMeal(Meal.CHEESES, 6);
brel.addMeal(Meal.DESSERTS, 5);
brel.addMeal(Meal.MAIN_COURSES, 3);
brel.addMeal(Meal.DRINKS, 8);
brel.addMeal(Meal.STARTERS, 6);
inn.add(brel);
clay.addMeal(Meal.MAIN_COURSES, 0);
inn.add(clay);
System.out.println(inn);
}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package model;
import java.util.HashMap;
/**
*
* @author stag
*/
public class Attendance extends Person implements Comparable<Attendance> {
private String contact; //Commenet contacter le participant
private int guests; //Le nombre d'invités y compris le participant
private String comment; // les commentaires potentiels
private HashMap<Meal, Integer> meals; //Les plats amenés : le type et la qantité
//liste des participants
public Attendance() {
this.meals = new HashMap<>();
}
public Attendance(String name, String forname, String contact, int guests, String comment) {
super(name, forname);
this.contact = contact;
this.guests = guests;
this.comment = comment;
}
public Attendance(Person person, String contact, int guests, String comment) {
super(person.name, person.forname);
this.contact = contact;
this.guests = guests;
this.comment = comment;
}
@Override
public int compareTo(Attendance o) {
if(this == o) {
return 0;
}
if (!this.name.equals(o.name)) {
return this.name.compareTo(o.name);
}
return this.forname.compareTo(o.forname);
}
public String getContact() {
return contact;
}
public void setContact(String contact) {
this.contact = contact;
}
public int getGuests() {
return guests;
}
public void setGuests(int guests) {
this.guests = guests;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public void addMeal(Meal meal, int qty) { //Ajouter un plat
if(qty >0) {
this.meals.put(meal, qty);
} else if(qty == 0) {
clearMeal(meal);
} else {
throw new IllegalArgumentException("La quantité doit être >= 0");
}
}
public void clearMeal(Meal meal) { //Supprimer un plat
this.meals.remove(meal);
}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package model;
import java.time.LocalDate;
import java.util.TreeSet;
/**
*
* @author stag
*/
public class Inn extends TreeSet<Attendance> {
LocalDate date; //date de l'event
public Inn() {
super();
}
public Inn(LocalDate date) {
this();
this.date = date;
}
public LocalDate getDate() {
return date;
}
public void setDate(LocalDate date) {
this.date = date;
}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Enum.java to edit this template
*/
package model;
/**
*
* @author stag
*/
public enum Meal {
STARTERS("Entrées"),
MAIN_COURSES("Plats"),
CHEESES("Fromages"),
DESSERTS("Désserts"),
DRINKS("Boissons");
private String frenchName;
private Meal(String frenchName) {
this.frenchName = frenchName;
}
public String getFrenchName() {
return frenchName;
}
}
\ No newline at end of file
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package model;
/**
*
* @author stag
*/
public class Person {
protected String name;
protected String forname;
public Person() {
}
public Person(String name, String forname) {
this.name = name;
this.forname = forname;
}
public String getName() {
return name;
}
public String getForname() {
return forname;
}
public void setName(String name) {
this.name = name;
}
public void setForname(String forname) {
this.forname = forname;
}
@Override
public String toString() {
return "Person{" + "name=" + name + ", forname=" + forname + '}';
}
}