All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.theagilemonkeys.meets.magento.models.base.MeetsMageFactory Maven / Gradle / Ivy

package com.theagilemonkeys.meets.magento.models.base;

import com.theagilemonkeys.meets.apimethod.ApiMethod;
import com.theagilemonkeys.meets.apimethod.ApiMethodCollectionResponseClasses;
import com.theagilemonkeys.meets.magento.MageApiMethodCollectionResponseClasses;
import com.theagilemonkeys.meets.magento.methods.Products;
import com.theagilemonkeys.meets.magento.models.*;
import com.theagilemonkeys.meets.models.*;
import com.theagilemonkeys.meets.models.base.MeetsBaseCollection;
import com.theagilemonkeys.meets.models.base.MeetsCollection;
import com.theagilemonkeys.meets.models.base.MeetsFactory;

import java.util.List;
import java.util.Map;

/**
 * Android Meets SDK
 * Original work Copyright (c) 2014 [TheAgileMonkeys]
 *
 * @author Álvaro López Espinosa
 */
public class MeetsMageFactory extends MeetsFactory {
    @Override
    public MeetsProduct makeProduct() {
        return new MeetsMageProduct();
    }

    @Override
    public MeetsProduct makeProduct(int id) {
        return makeProduct().setId(id);
    }

    @Override
    public MeetsCollection makeProductCollection() {
        return new MeetsBaseCollection(new MeetsBaseCollection.ApiMethodBuilder() {
            @Override
            public ApiMethod build(Map params) {
                return new Products(true);
            }
        });
    }

    @Override
    public MeetsCategory makeCategory() {
        return new MeetsMageCategory();
    }

    @Override
    public MeetsCategory makeCategory(int id) {
        return makeCategory().setId(id);
    }

    @Override
    public MeetsCart makeCart() {
        return new MeetsMageCart();
    }

    @Override
    public MeetsCart makeCart(int id) {
        return makeCart().setId(id);
    }

    @Override
    public MeetsCart.Item makeCartItem() {
        return new MeetsMageCartItem();
    }

    @Override
    public MeetsCart.Item makeCartItem(MeetsProduct product) {
        return new MeetsMageCartItem().fillFromProduct(product);
    }

    @Override
    public MeetsCustomer makeCustomer() {
        return new MeetsMageCustomer();
    }

    @Override
    public MeetsCustomer makeCustomer(int id) {
        return makeCustomer().setId(id);
    }

    @Override
    public MeetsCollection makeCustomerCollection() {
        throw new UnsupportedOperationException("Still not implemented");
//        return new MageMeetsCollection(CustomerCustomerList.class);
    }

    @Override
    public MeetsAddress makeAddress() {
        return new MeetsMageAddress();
    }

    @Override
    public MeetsAddress makeAddress(int id) {
        return makeAddress().setId(id);
    }

    @Override
    public MeetsCart.Payment makeCartPayment() {
        return new MeetsMageCartPayment();
    }

    @Override
    public MeetsCart.Shipping makeCartShipping() {
        return new MeetsMageCartShipping();
    }

    @Override
    public MeetsStock.ItemList makeStockItemList() {
        return new MeetsMageStockInfoList();
    }

    @Override
    public MeetsStock.ItemList makeStockItemList(int id) {
        return makeStockItemList().setId(id);
    }

    @Override
    public MeetsStock.ItemList makeStockItemList(List ids) {
        return makeStockItemList().setIds(ids);
    }

    @Override
    public ApiMethodCollectionResponseClasses getApiMethodCollectionResponseClasses() {
        return new MageApiMethodCollectionResponseClasses();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy