Java Developer
Read the text in English.
package com.ctxm;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class JobOffer {
public static final String COMPANY_NAME = "CTXM";
public static final String COMPANY_TYPE = "International";
public static final String COMPANY_EMAIL = "jobs@ctxm.com";
public static final String COMPANY_ADDRESS = "Dzērbenes 14b, Rīga, LV-1006 Rīgas rajons";
public static final String SALARY = "Competitive";
public List<String> offerCriteria() {
List<String> criteria = new ArrayList<String>();
criteria.add("You are the fan of agile practices");
criteria.add(work(Environment.ACTIVE, false));
criteria.add(work("a team of talented professionals", true));
criteria.add(work(Experience.J2EE, true));
criteria.add(work(Experience.XML, true));
return criteria;
}
private static String work(String value, boolean with) {
return with ? "Work with " : "Work in the " + value;
}
public boolean match(List<String> knowledges) {
List<Experience> requirements = new ArrayList<Experience>();
requirements.add(new Experience(Experience.THREE_YEARS, Experience.IT));
requirements.add(new Experience(Experience.TWO_YEARS, Experience.JAVA));
requirements.add(new Experience(null,
"Understanding of applications' design principles"));
requirements.add(new Experience(null,
"Ability to work efficiently in dynamic team"));
requirements.add(new Experience(null, "Good " + Locale.ENGLISH));
requirements.add(new Experience(null, Experience.J2EE + Experience.SQL
+ "(optional)"));
return requirements.containsAll(knowledges);
}
public List<Object> getJobOffer() {
List<Object> offer = new ArrayList<Object>();
offer.add("compensation package");
offer.add(JobOffer.SALARY);
offer.add(new Opportunities(JobOffer.COMPANY_TYPE));
offer.add(new Opportunities(Environment.DYNAMIC + " & "
+ Environment.FRIENDLY));
return offer;
}
public static void main(String[] args) {
JobOffer jobOffer = new JobOffer();
JobSeeker seeker = new JobSeeker();
if (jobOffer.offerCriteria().containsAll(seeker.searchCreteria())) {
seeker.sendCV(jobOffer, JobOffer.COMPANY_EMAIL);
if (jobOffer.match(seeker.getSkills())) {
seeker.receiveOffer(jobOffer.getJobOffer());
}
}
}
}
public final class Environment {
public static final String DYNAMIC = "dynamic";
public static final String FRIENDLY = "friendly";
public static final String ACTIVE = "active";
}
public class Experience {
public static final Integer THREE_YEARS = 3;
public static final Integer TWO_YEARS = 2;
public static final String IT = "IT";
public static final String JAVA = "Java programming";
public static final String J2EE = "J2EE";
public static final String SQL = "SQL";
public static final String XML = "XML";
private Integer level;
private String name;
public Experience(Integer level, String name) {
this.level = level;
this.name = name;
}
public Experience(String name) {
this.name = name;
}
public String toString() {
return level.toString() + name;
}
}