package com.javarush.test.level19.lesson03.task01;

/* TableAdapter
Измените класс TableAdapter так, чтобы он адаптировал ATable к BTable.
Метод getHeaderText должен возвращать такую строку "[username] : tablename".
Пример, "[Amigo] : DashboardTable"
*/

public class Solution {
    public static void main(String[] args) {
        //это пример вывода
        ATable aTable = new ATable() {
            @Override
            public String getCurrentUserName() {
                return "Amigo";
            }

            @Override
            public String getTableName() {
                return "DashboardTable";
            }
        };

        BTable table = new TableAdapter(aTable);
        System.out.println(table.getHeaderText());
    }

    public static class TableAdapter implements BTable {    //адаптер

        private ATable aTable;
        public TableAdapter(ATable aTable) {    //конструктор
            this.aTable = aTable;
        }

        public String getHeaderText() {

            return "[" + this.aTable.getCurrentUserName() + "] : " + this.aTable.getTableName();
        }

    }

    public interface ATable {    //интерфейс ATable
        String getCurrentUserName();
        String getTableName();
    }

    public interface BTable {    //интерфейс BTable
        String getHeaderText();
    }
}