// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/exceptions/CustomException.java
// public class CustomException extends Exception {
//     public CustomException(String detailMessage) {
//         super(detailMessage);
//     }
// }
// 
// Path: android/src/main/java/com/raulh82vlc/TransactionsViewer/domain/models/ProductUI.java
// public class ProductUI implements Parcelable {
// 
//     private String sku;
//     private List<TransactionUI> transactions;
// 
//     public static final Creator<ProductUI> CREATOR = new Creator<ProductUI>() {
//         @Override
//         public ProductUI createFromParcel(Parcel in) {
//             return new ProductUI(in);
//         }
// 
//         @Override
//         public ProductUI[] newArray(int size) {
//             return new ProductUI[size];
//         }
//     };
// 
//     private ProductUI(Parcel in) {
//         sku = in.readString();
//         if (transactions == null) {
//             transactions = new ArrayList<>();
//         }
//         in.readList(transactions, Transaction.class.getClassLoader());
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(sku);
//         dest.writeList(transactions);
//     }
// 
//     public ProductUI(String key, List<Transaction> values, String toCurrency) {
//         sku = key;
//         transactions = new ArrayList<>(values.size());
//         for (Transaction transaction : values) {
//             transactions.add(new TransactionUI(transaction.getCurrency(), toCurrency,
//                     transaction.getAmountPerTransaction(), "0"));
//         }
// 
//     }
// 
//     public List<TransactionUI> getTransactions() {
//         return transactions;
//     }
// 
//     public String getSku() {
//         return sku;
//     }
// }
// 
// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/models/Transaction.java
// public class Transaction {
// 
//     @SerializedName("sku")
//     private String skuIdentifier;
// 
//     @SerializedName("amount")
//     private String amountPerTransaction;
// 
//     @SerializedName("currency")
//     private String currency;
// 
//     public String getSkuIdentifier() {
//         return skuIdentifier;
//     }
// 
//     public String getAmountPerTransaction() {
//         return amountPerTransaction;
//     }
// 
//     public String getCurrency() {
//         return currency;
//     }
// }


import com.raulh82vlc.TransactionsViewer.domain.exceptions.CustomException;
import com.raulh82vlc.TransactionsViewer.domain.models.ProductUI;
import com.raulh82vlc.TransactionsViewer.domain.models.Transaction;
import java.util.List;
import java.util.Map;
/*
 * Copyright (C) 2017 Raul Hernandez Lopez @raulh82vlc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.raulh82vlc.TransactionsViewer.ui.presentation;



/**
 * <p>Presenter responsible of asking for Transactions and get them back if any available</p>
 *
 * @author Raul Hernandez Lopez
 */
public interface TransactionsPresenter {
    void startReading(String path) throws CustomException;

// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/exceptions/CustomException.java
// public class CustomException extends Exception {
//     public CustomException(String detailMessage) {
//         super(detailMessage);
//     }
// }
// 
// Path: android/src/main/java/com/raulh82vlc/TransactionsViewer/domain/models/ProductUI.java
// public class ProductUI implements Parcelable {
// 
//     private String sku;
//     private List<TransactionUI> transactions;
// 
//     public static final Creator<ProductUI> CREATOR = new Creator<ProductUI>() {
//         @Override
//         public ProductUI createFromParcel(Parcel in) {
//             return new ProductUI(in);
//         }
// 
//         @Override
//         public ProductUI[] newArray(int size) {
//             return new ProductUI[size];
//         }
//     };
// 
//     private ProductUI(Parcel in) {
//         sku = in.readString();
//         if (transactions == null) {
//             transactions = new ArrayList<>();
//         }
//         in.readList(transactions, Transaction.class.getClassLoader());
//     }
// 
//     @Override
//     public int describeContents() {
//         return 0;
//     }
// 
//     @Override
//     public void writeToParcel(Parcel dest, int flags) {
//         dest.writeString(sku);
//         dest.writeList(transactions);
//     }
// 
//     public ProductUI(String key, List<Transaction> values, String toCurrency) {
//         sku = key;
//         transactions = new ArrayList<>(values.size());
//         for (Transaction transaction : values) {
//             transactions.add(new TransactionUI(transaction.getCurrency(), toCurrency,
//                     transaction.getAmountPerTransaction(), "0"));
//         }
// 
//     }
// 
//     public List<TransactionUI> getTransactions() {
//         return transactions;
//     }
// 
//     public String getSku() {
//         return sku;
//     }
// }
// 
// Path: domain/src/main/java/com/raulh82vlc/TransactionsViewer/domain/models/Transaction.java
// public class Transaction {
// 
//     @SerializedName("sku")
//     private String skuIdentifier;
// 
//     @SerializedName("amount")
//     private String amountPerTransaction;
// 
//     @SerializedName("currency")
//     private String currency;
// 
//     public String getSkuIdentifier() {
//         return skuIdentifier;
//     }
// 
//     public String getAmountPerTransaction() {
//         return amountPerTransaction;
//     }
// 
//     public String getCurrency() {
//         return currency;
//     }
// }


// Path: android/src/main/java/com/raulh82vlc/TransactionsViewer/ui/presentation/TransactionsPresenter.java
import com.raulh82vlc.TransactionsViewer.domain.exceptions.CustomException;
import com.raulh82vlc.TransactionsViewer.domain.models.ProductUI;
import com.raulh82vlc.TransactionsViewer.domain.models.Transaction;
import java.util.List;
import java.util.Map;

/*
 * Copyright (C) 2017 Raul Hernandez Lopez @raulh82vlc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.raulh82vlc.TransactionsViewer.ui.presentation;



/**
 * <p>Presenter responsible of asking for Transactions and get them back if any available</p>
 *
 * @author Raul Hernandez Lopez
 */
public interface TransactionsPresenter {
    void startReading(String path) throws CustomException;

    void setView(View view);