.
package com.javarush.task.task19.task1905;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/*
Закрепляем адаптер
*/
public class Solution {
public static Map<String, String> countries = new HashMap<String, String>();
static {
countries.put("UA", "Ukraine");
countries.put("RU", "Russia");
countries.put("CA", "Canada");
}
public static void main(String[] args) {
}
public static class DataAdapter implements RowItem {
private Customer customer;
private Contact contact;
public DataAdapter(Customer customer, Contact contact) {
this.customer = customer;
this.contact = contact;
}
@Override
public String getCountryCode() {
String key = "";
for (Map.Entry<String, String> keys : countries.entrySet()) {
if (customer.getCountryName().equals(keys.getValue())) {
key = keys.getKey();
}
}
return key;
}
@Override
public String getCompany() {
return customer.getCompanyName();
}
@Override
public String getContactFirstName() {
String[] firstName = contact.getName().split(", ");
return firstName[0];
}
@Override
public String getContactLastName() {
String[] lastName = contact.getName().split(", ");
return lastName[1];
}
@Override
public String getDialString() {
String num = contact.getPhoneNumber();
String result = "";
for (int i = 0; i < num.length(); i++) {
if (!num.substring(i).equals("(") && !num.substring(i).equals(")") && !num.substring(i).equals("-")) {
result += num.substring(i);
}
}
return result;
}
}
public static interface RowItem {
String getCountryCode(); //For example: UA
String getCompany(); //For example: JavaRush Ltd.
String getContactFirstName(); //For example: Ivan
String getContactLastName(); //For example: Ivanov
String getDialString(); //For example: callto://+380501234567
}
public static interface Customer {
String getCompanyName(); //For example: JavaRush Ltd.
String getCountryName(); //For example: Ukraine
}
public static interface Contact {
String getName(); //For example: Ivanov, Ivan
String getPhoneNumber(); //For example: +38(050)123-45-67 or +3(805)0123-4567 or +380(50)123-4567 or ...
}
}
package com.javarush.task.task19.task1905;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Закрепляем адаптер
*/
public class Solution {
public static Map<String, String> countries = new HashMap<String, String>();
static {
countries.put("UA", "Ukraine");
countries.put("RU", "Russia");
countries.put("CA", "Canada");
}
public static void main(String[] args) {
}
public static class DataAdapter implements RowItem {
private Customer customer;
private Contact contact;
public DataAdapter(Customer customer, Contact contact) {
this.customer = customer;
this.contact = contact;
}
@Override
public String getCountryCode() {
return countries.get(customer.getCountryName());
}
@Override
public String getCompany() {
return customer.getCompanyName();
}
@Override
public String getContactFirstName() {
String[] firstName = contact.getName().split(", ");
return firstName[0];
}
@Override
public String getContactLastName() {
String[] lastName = contact.getName().split(", ");
return lastName[1];
}
@Override
public String getDialString() {
String number = contact.getPhoneNumber();
String result = "";
ArrayList<Character> nums = new ArrayList<>();
for (int i = 0; i < number.length(); i++) {
nums.add(i, number.charAt(i));
}
for (char num : nums) {
if (num == '(' || num == ')' || num == '-') nums.remove(num);
}
for (char num : nums) {
result += String.valueOf(num);
}
return result;
}
}
public static interface RowItem {
String getCountryCode(); //For example: UA
String getCompany(); //For example: JavaRush Ltd.
String getContactFirstName(); //For example: Ivan
String getContactLastName(); //For example: Ivanov
String getDialString(); //For example: callto://+380501234567
}
public static interface Customer {
String getCompanyName(); //For example: JavaRush Ltd.
String getCountryName(); //For example: Ukraine
}
public static interface Contact {
String getName(); //For example: Ivanov, Ivan
String getPhoneNumber(); //For example: +38(050)123-45-67 or +3(805)0123-4567 or +380(50)123-4567 or ...
}
}