Требует реализации уже реализованного
Конкректно жалуется, что не реализовал метод getCountryCode()
package com.javarush.task.task19.task1903;
import java.util.HashMap;
import java.util.Map;
/*
Адаптация нескольких интерфейсов
*/
public class Solution {
public static Map<String, String> countries = new HashMap<String, String>();
static{
countries.put("UK", "Ukraine");
countries.put("RU", "Russia");
countries.put("CA", "Canada");
}
public static void main(String[] args) {
IncomeData data = new IncomeData() {
@Override
public String getCountryCode(String cod){
return cod;
}
@Override
public String getCompany(){
return "JavaRush Ltd.";
}
@Override
public String getContactFirstName(){
return "Ivan";
}
@Override
public String getContactLastName(){
return "Ivanov";
}
@Override
public int getCountryPhoneCode(){
return 38;
}
@Override
public int getPhoneNumber(){
return 501234567;
}
};
Customer customer = IncomeDataAdapter(data);
Contact contact = IncomeDataAdapter(data);
}
public static class IncomeDataAdapter implements Customer, Contact{
private IncomeData data;
public IncomeDataAdapter(IncomeData x){
this.data = x;
}
@Override
public String getCompanyName(){
return getCompanyName();
}
@Override
public String getCountryName(String cod){
return countries.get(cod);
}
@Override
public String getName(){
return getContactLastName() + "," + " " + getContactFirstName();
}
@Override
public String getPhoneNumber(){
return +38 + "(" + 050 + ")" + 123-45-67;
}
}
public interface IncomeData {
String getCountryCode(); //For example: UA
String getCompany(); //For example: JavaRush Ltd.
String getContactFirstName(); //For example: Ivan
String getContactLastName(); //For example: Ivanov
int getCountryPhoneCode(); //For example: 38
int getPhoneNumber(); //For example1: 501234567, For example2: 71112233
}
public interface Customer {
String getCompanyName(); //For example: JavaRush Ltd.
String getCountryName(); //For example: Ukraine
}
public interface Contact {
String getName(); //For example: Ivanov, Ivan
String getPhoneNumber(); //For example1: +38(050)123-45-67, For example2: +38(007)111-22-33
}
}