package com.javarush.task.task17.task1711;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
/*
CRUD 2
*/
public class Solution {
public static volatile List<Person> allPeople = new ArrayList<Person>();
static {
allPeople.add(Person.createMale("Иванов Иван", new Date())); //сегодня родился id=0
allPeople.add(Person.createMale("Петров Петр", new Date())); //сегодня родился id=1
}
public static void main(String[] args) throws ParseException {
switch (args[0]) {
case "-c":
synchronized (allPeople) {
createMan(args[1], args[2], args[3]);
break;
}
case "-u":
synchronized (allPeople) {
refreshMan(args[1], args[2], args[3], args[4]);
break;
}
case "-d":
synchronized (allPeople) {
deleteMan(args[1], args[2], args[3], args[4]);
break;
}
case "-i":
synchronized (allPeople) {
printMan(args[1], args[2], args[3], args[4]);
break;
}
}
}
private static void printMan(String name, String sex, String data, String id) {
for (int i = 0; i < allPeople.size(); i++) {
Person prinPerson = allPeople.get(Integer.parseInt(id));
System.out.println(prinPerson.toString());
}
}
private static void deleteMan(String name, String sex, String data, String id) {
for (int i = 0; i < allPeople.size(); i++) {
Person deletePerson = allPeople.get(Integer.parseInt(id));
deletePerson.setName(null);
deletePerson.setBirthDate(null);
deletePerson.setSex(null);
allPeople.set(Integer.parseInt(id), deletePerson);
}
}
private static void createMan(String name, String sex, String data) throws ParseException {
for (int i = 0; i < allPeople.size(); i++) {
Date newDatate = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(data);
if (sex.equals("м")) {
allPeople.add(Person.createMale(name, newDatate));
}
if (sex.equals("ж")) {
allPeople.add((Person.createFemale(name, newDatate)));
}
System.out.println(allPeople.size() - 1);
}
}
private static void refreshMan(String name, String sex, String data, String id) throws ParseException {
for (int i = 0; i < allPeople.size(); i++) {
Date newData = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH).parse(data);
Person refreshPerson = allPeople.get(Integer.parseInt(id));
refreshPerson.setName(name);
refreshPerson.setBirthDate(newData);
if (sex.equals("м")) {
refreshPerson.setSex(com.javarush.task.task17.task1711.Sex.FEMALE);
}
if (sex.equals("ж")) {
refreshPerson.setSex(com.javarush.task.task17.task1711.Sex.FEMALE);
}
allPeople.set(Integer.parseInt(id), refreshPerson);
}
}
}
package com.javarush.task.task17.task1711;
public enum Sex {
MALE,
FEMALE
}