package org.multibit.mbm.client;
import org.multibit.mbm.client.handlers.cart.ClientCartHandler;
import org.multibit.mbm.client.handlers.item.ClientItemCollectionHandler;
import org.multibit.mbm.client.handlers.item.ClientItemHandler;
import org.multibit.mbm.client.handlers.user.PublicUserHandler;
import java.util.Locale;
/**
* <p>RESTful client to provide the following to applications:</p>
* <ul>
* <li>Access to public API for the MultiBit Merchant</li>
* </ul>
* <p>This client provides access to public resources for an anonymous visitor. For example, the visitor
* can search and view items, or manage their shopping cart through this API.</p>
*
* @since 0.0.1
*
*/
public class PublicMerchantClient extends BaseMerchantClient {
protected PublicMerchantClient(Locale locale) {
super(locale);
}
/**
* @param locale The client locale for appropriate representation
*/
public static PublicMerchantClient newInstance(Locale locale) {
return new PublicMerchantClient(locale);
}
/**
* @return A suitable handler for single item requests
*/
public ClientItemHandler item() {
return new ClientItemHandler(locale);
}
/**
* @return A suitable handler for item collection searches
*/
public ClientItemCollectionHandler items() {
return new ClientItemCollectionHandler(locale);
}
/**
* @return A suitable handler for item collection searches
*/
public PublicUserHandler user() {
return new PublicUserHandler(locale);
}
/**
* @return A suitable handler for single cart requests by customers
*/
public ClientCartHandler cart() {
return new ClientCartHandler(locale);
}
}