eng
fr
CV version java
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Curriculum {

    private static String last_name = "BERTHELON";
    private static String first_name = "Franck";
    private static Date date_of_birth = new Date(10, 07, 1985);
    private static String nationality = "French";
    private static String mail = "webmaster@answeris42.fr";
    private static boolean drive_licence = true;
    
    public class Year {
	private String years;
	private String entitle;
	private String address;
	
	public Year(String years, String entitle, String address) {
	    this.years = years;
	    this.entitle = entitle;
	    this.address = address;
	}
	
	public String toString() {
	    return years.toString()+" : "+entitle+"\n    "+address+"\n";
	}
    }
    
    private List<Year> training = new ArrayList<Year>();
    
    public class Skill {
	private String title;
	private List<String> details;
	
	public Skill(String title) {
	    this.title = title;
	}
	
	public void addDetails(List<String> details) {
	    this.details = details;
	}
	
	public String toString() {
	    String res = title.toString()+" : ";
	    if (details != null) {
		for (String c : details)
		    res+=c+", ";
	    }
	    return res+"\n";
	}
    }
    
    private List<Skill> computingSkills = new ArrayList<Skill>();    
    private List<String> workExperience = new ArrayList<String>();
    private String tongue;
    private List<String> additionalInformation = new ArrayList<String>();
    
    public Resume() {
	
	/** *********************************************************** */
	/* Training */
	/** *********************************************************** */
	
	training.add(new Year("2007-2008", "Master 1 in computing",
	          "Faculté des Sciences Valrose, 06100 Nice"));
	training.add(new Year("2006-2007",
		  "Obtention de la licence d'informatique",
		  "Faculté des Sciences Valrose, 06100 Nice"));
	training.add(new Year("2004-2006",
		  "Obtention du DUT informatique option Genie Informatique",
		  "IUT Napoleon III, 06300 Nice"));
	training.add(new Year("2003", "Obtention du Baccalauréat Scientifique",
		  "Lycée Masséna, 06300 Nice"));
	
	/** *********************************************************** */
	/* Computing skills */
	/** *********************************************************** */
	
	/* Add oriented object languages */
	Skill skl = new Skill("Oriented Object Computing");
	List<String> skillsDetails = new ArrayList<String>();
	skillsDetails.add("C++");
	skillsDetails.add("java");
	skillsDetails.add("VB.net");
	skillsDetails.add("C#.net");	
	skl.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Add imperative languages */
	skl = new Skill("Imperative Computing");
	skillsDetails = new ArrayList<String>();
	skillsDetails.add("C");
	skillsDetails.add("Pascal");
	skl.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Ajout des langages fonctionnelles */
	skl = new Skill("Fonctionnal Computing");
	skillsDetails = new ArrayList<String>();
	skillsDetails.add("Scheme");
	skillsDetails.add("Caml");
	skillsDetails.add("Hop");
	skl.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Add other languages */
	skl = new Skill("Other Computing");
	skillsDetails = new ArrayList<String>();
	skillsDetails.add("Icon");
	cmp.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Add system languages and specific skills */
	skl = new Skill("System Computing");
	skillsDetails = new ArrayList<String>();
	skillsDetails.add("Windows");
	skillsDetails.add("Linux shell and kernel (VFS)");
	cmp.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Add database skills */
	skl = new Skill("Database");
	skillsDetails = new ArrayList<String>();
	skillsDetails.add("MySQL");
	skillsDetails.add("Oracle");
	skillsDetails.add("data mining");
	skl.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Add conception skills */
	skl = new Skill("Analyse and conception");
	skillsDetails = new ArrayList<String>();
	skillsDetails.add("Object UML");
	skillsDetails.add("Classic Merise");
	skl.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Add compilation skills */
	skl = new Skill("Compilation");
	skillsDetails = new ArrayList<String>();
	skillsDetails.add("Flex and Bison");
	skillsDetails.add("main grammar");
	skl.addDetails(skillsDetails);
	this.computingSkills.add(skl);
	
	/* Add network administration skills */
	skl = new Skill("Network administration");
	this.computingSkills.add(skl);
	
	/** *********************************************************** */
	/* Work experience */
	/** *********************************************************** */
	
	this.workExperience
		.add("Office tutoring for first and second year bachelor degree student");
	this.workExperience
		.add("Project for developping architecture of underwater robot under 
                        Microsoft robotics environnement (C# and web-service)");
	this.workExperience
		.add("Trainee at INRIA in MIMOSA project in the aim to realise a binding 
                        of DBus api for a new language Hop based on scheme");
	this.workExperience
		.add("A work placement at Rohm and Haas, Sophia Antipolis, France, within 
                        the context of my training at the I.U.T of Nice Côte 
                        d'Azur. Main tasks : programming man machine interface. 
                        I gained skills in .net technology especially in visual basic.");
	this.workExperience
		.add("Warehouse at Galeries Lafayette Nice, France.");
	
	/** *********************************************************** */
	/* Tongues */
	/** *********************************************************** */
	
	this.tongue = "English scolare";
	
	/** *********************************************************** */
	/* Additional informations */
	/** *********************************************************** */
	
	this.additionalInformations.add("Rock music");
	this.additionalInformations.add("Cinema");
	this.additionalInformations.add("sci-fi and heroic fantasy book");
	this.additionalInformations.add("Squash");
    }
    
    public String toString() {
	String res = last_name+" "+first_name+"\n"+date_of_birth+"\n"+nationality+"\n"+mail+"\n";
	if (drive_licence)
	res += "drive licence\n";
	
	res+="\n";
	
	for (Year a : this.training)
	res +=a.toString();
	
	res +="\n";
	
	for (Skill c : computingSkills)
	res += c.toString();
	
	res+="\n"+tongue+"\n\n";
	
	for (String s : additionalInformations)
	res+=s+"\n";
	
	return res;
    }
    
    public static void main (String[] argv) {
	Resume resume = new Resume();
	System.out.println(resume);
    }
}