/** * This code was auto-generated by a Codezu. * * Changes to this file may cause incorrect behavior and will be lost if * the code is regenerated. */ package com.mozu.api.clients.commerce.catalog.admin.attributedefinition.producttypes; import java.util.List; import java.util.ArrayList; import com.mozu.api.MozuClient; import com.mozu.api.MozuClientFactory; import com.mozu.api.MozuUrl; import com.mozu.api.Headers; import org.joda.time.DateTime; import com.mozu.api.security.AuthTicket; import org.apache.commons.lang.StringUtils; import com.mozu.api.DataViewMode; /** <summary> * Use the Properties subresource to define how property product attributes are used for a specific product type. Product attribute definitions are unique for each associated product type. * </summary> */ public class ProductTypePropertyClient { /** * Retrieves a list of product property attributes defined for a product type. * <p><pre><code> * MozuClient<List<com.mozu.api.contracts.productadmin.AttributeInProductType>> mozuClient=GetPropertiesClient(dataViewMode, productTypeId); * client.setBaseAddress(url); * client.executeRequest(); * AttributeInProductType attributeInProductType = client.Result(); * </code></pre></p> * @param productTypeId Identifier of the product type. * @param dataViewMode DataViewMode * @return Mozu.Api.MozuClient <List<com.mozu.api.contracts.productadmin.AttributeInProductType>> * @see com.mozu.api.contracts.productadmin.AttributeInProductType */ public static MozuClient<List<com.mozu.api.contracts.productadmin.AttributeInProductType>> getPropertiesClient(com.mozu.api.DataViewMode dataViewMode, Integer productTypeId) throws Exception { MozuUrl url = com.mozu.api.urls.commerce.catalog.admin.attributedefinition.producttypes.ProductTypePropertyUrl.getPropertiesUrl(productTypeId); String verb = "GET"; Class<?> clz = new ArrayList<com.mozu.api.contracts.productadmin.AttributeInProductType>(){}.getClass(); MozuClient<List<com.mozu.api.contracts.productadmin.AttributeInProductType>> mozuClient = (MozuClient<List<com.mozu.api.contracts.productadmin.AttributeInProductType>>) MozuClientFactory.getInstance(clz); mozuClient.setVerb(verb); mozuClient.setResourceUrl(url); mozuClient.addHeader(Headers.X_VOL_DATAVIEW_MODE ,dataViewMode.toString()); return mozuClient; } /** * Retrieves a product property attribute definition for the specified product type. * <p><pre><code> * MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient=GetPropertyClient(dataViewMode, productTypeId, attributeFQN); * client.setBaseAddress(url); * client.executeRequest(); * AttributeInProductType attributeInProductType = client.Result(); * </code></pre></p> * @param attributeFQN The fully qualified name of the attribute, which is a user defined attribute identifier. * @param productTypeId Identifier of the product type. * @param dataViewMode DataViewMode * @return Mozu.Api.MozuClient <com.mozu.api.contracts.productadmin.AttributeInProductType> * @see com.mozu.api.contracts.productadmin.AttributeInProductType */ public static MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> getPropertyClient(com.mozu.api.DataViewMode dataViewMode, Integer productTypeId, String attributeFQN) throws Exception { return getPropertyClient(dataViewMode, productTypeId, attributeFQN, null); } /** * Retrieves a product property attribute definition for the specified product type. * <p><pre><code> * MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient=GetPropertyClient(dataViewMode, productTypeId, attributeFQN, responseFields); * client.setBaseAddress(url); * client.executeRequest(); * AttributeInProductType attributeInProductType = client.Result(); * </code></pre></p> * @param attributeFQN The fully qualified name of the attribute, which is a user defined attribute identifier. * @param productTypeId Identifier of the product type. * @param responseFields Use this field to include those fields which are not included by default. * @param dataViewMode DataViewMode * @return Mozu.Api.MozuClient <com.mozu.api.contracts.productadmin.AttributeInProductType> * @see com.mozu.api.contracts.productadmin.AttributeInProductType */ public static MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> getPropertyClient(com.mozu.api.DataViewMode dataViewMode, Integer productTypeId, String attributeFQN, String responseFields) throws Exception { MozuUrl url = com.mozu.api.urls.commerce.catalog.admin.attributedefinition.producttypes.ProductTypePropertyUrl.getPropertyUrl(attributeFQN, productTypeId, responseFields); String verb = "GET"; Class<?> clz = com.mozu.api.contracts.productadmin.AttributeInProductType.class; MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient = (MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType>) MozuClientFactory.getInstance(clz); mozuClient.setVerb(verb); mozuClient.setResourceUrl(url); mozuClient.addHeader(Headers.X_VOL_DATAVIEW_MODE ,dataViewMode.toString()); return mozuClient; } /** * Assigns a property attribute to the specified product type, according to the information defined in the request. * <p><pre><code> * MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient=AddPropertyClient(dataViewMode, attributeInProductType, productTypeId); * client.setBaseAddress(url); * client.executeRequest(); * AttributeInProductType attributeInProductType = client.Result(); * </code></pre></p> * @param productTypeId Identifier of the product type. * @param dataViewMode DataViewMode * @param attributeInProductType Properties of an attribute definition associated with a specific product type. When an attribute is applied to a product type, each product of that type maintains the same set of attributes. * @return Mozu.Api.MozuClient <com.mozu.api.contracts.productadmin.AttributeInProductType> * @see com.mozu.api.contracts.productadmin.AttributeInProductType * @see com.mozu.api.contracts.productadmin.AttributeInProductType */ public static MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> addPropertyClient(com.mozu.api.DataViewMode dataViewMode, com.mozu.api.contracts.productadmin.AttributeInProductType attributeInProductType, Integer productTypeId) throws Exception { return addPropertyClient(dataViewMode, attributeInProductType, productTypeId, null); } /** * Assigns a property attribute to the specified product type, according to the information defined in the request. * <p><pre><code> * MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient=AddPropertyClient(dataViewMode, attributeInProductType, productTypeId, responseFields); * client.setBaseAddress(url); * client.executeRequest(); * AttributeInProductType attributeInProductType = client.Result(); * </code></pre></p> * @param productTypeId Identifier of the product type. * @param responseFields Use this field to include those fields which are not included by default. * @param dataViewMode DataViewMode * @param attributeInProductType Properties of an attribute definition associated with a specific product type. When an attribute is applied to a product type, each product of that type maintains the same set of attributes. * @return Mozu.Api.MozuClient <com.mozu.api.contracts.productadmin.AttributeInProductType> * @see com.mozu.api.contracts.productadmin.AttributeInProductType * @see com.mozu.api.contracts.productadmin.AttributeInProductType */ public static MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> addPropertyClient(com.mozu.api.DataViewMode dataViewMode, com.mozu.api.contracts.productadmin.AttributeInProductType attributeInProductType, Integer productTypeId, String responseFields) throws Exception { MozuUrl url = com.mozu.api.urls.commerce.catalog.admin.attributedefinition.producttypes.ProductTypePropertyUrl.addPropertyUrl(productTypeId, responseFields); String verb = "POST"; Class<?> clz = com.mozu.api.contracts.productadmin.AttributeInProductType.class; MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient = (MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType>) MozuClientFactory.getInstance(clz); mozuClient.setVerb(verb); mozuClient.setResourceUrl(url); mozuClient.setBody(attributeInProductType); mozuClient.addHeader(Headers.X_VOL_DATAVIEW_MODE ,dataViewMode.toString()); return mozuClient; } /** * Updates the definition of a property attribute for the specified product type. * <p><pre><code> * MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient=UpdatePropertyClient(dataViewMode, attributeInProductType, productTypeId, attributeFQN); * client.setBaseAddress(url); * client.executeRequest(); * AttributeInProductType attributeInProductType = client.Result(); * </code></pre></p> * @param attributeFQN The fully qualified name of the attribute, which is a user defined attribute identifier. * @param productTypeId Identifier of the product type. * @param dataViewMode DataViewMode * @param attributeInProductType Properties of an attribute definition associated with a specific product type. When an attribute is applied to a product type, each product of that type maintains the same set of attributes. * @return Mozu.Api.MozuClient <com.mozu.api.contracts.productadmin.AttributeInProductType> * @see com.mozu.api.contracts.productadmin.AttributeInProductType * @see com.mozu.api.contracts.productadmin.AttributeInProductType */ public static MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> updatePropertyClient(com.mozu.api.DataViewMode dataViewMode, com.mozu.api.contracts.productadmin.AttributeInProductType attributeInProductType, Integer productTypeId, String attributeFQN) throws Exception { return updatePropertyClient(dataViewMode, attributeInProductType, productTypeId, attributeFQN, null); } /** * Updates the definition of a property attribute for the specified product type. * <p><pre><code> * MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient=UpdatePropertyClient(dataViewMode, attributeInProductType, productTypeId, attributeFQN, responseFields); * client.setBaseAddress(url); * client.executeRequest(); * AttributeInProductType attributeInProductType = client.Result(); * </code></pre></p> * @param attributeFQN The fully qualified name of the attribute, which is a user defined attribute identifier. * @param productTypeId Identifier of the product type. * @param responseFields Use this field to include those fields which are not included by default. * @param dataViewMode DataViewMode * @param attributeInProductType Properties of an attribute definition associated with a specific product type. When an attribute is applied to a product type, each product of that type maintains the same set of attributes. * @return Mozu.Api.MozuClient <com.mozu.api.contracts.productadmin.AttributeInProductType> * @see com.mozu.api.contracts.productadmin.AttributeInProductType * @see com.mozu.api.contracts.productadmin.AttributeInProductType */ public static MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> updatePropertyClient(com.mozu.api.DataViewMode dataViewMode, com.mozu.api.contracts.productadmin.AttributeInProductType attributeInProductType, Integer productTypeId, String attributeFQN, String responseFields) throws Exception { MozuUrl url = com.mozu.api.urls.commerce.catalog.admin.attributedefinition.producttypes.ProductTypePropertyUrl.updatePropertyUrl(attributeFQN, productTypeId, responseFields); String verb = "PUT"; Class<?> clz = com.mozu.api.contracts.productadmin.AttributeInProductType.class; MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType> mozuClient = (MozuClient<com.mozu.api.contracts.productadmin.AttributeInProductType>) MozuClientFactory.getInstance(clz); mozuClient.setVerb(verb); mozuClient.setResourceUrl(url); mozuClient.setBody(attributeInProductType); mozuClient.addHeader(Headers.X_VOL_DATAVIEW_MODE ,dataViewMode.toString()); return mozuClient; } /** * Removes a property attribute previously defined for the specified product type. * <p><pre><code> * MozuClient mozuClient=DeletePropertyClient(dataViewMode, productTypeId, attributeFQN); * client.setBaseAddress(url); * client.executeRequest(); * </code></pre></p> * @param attributeFQN The fully qualified name of the attribute, which is a user defined attribute identifier. * @param productTypeId Identifier of the product type. * @param dataViewMode DataViewMode * @return Mozu.Api.MozuClient */ public static MozuClient deletePropertyClient(com.mozu.api.DataViewMode dataViewMode, Integer productTypeId, String attributeFQN) throws Exception { MozuUrl url = com.mozu.api.urls.commerce.catalog.admin.attributedefinition.producttypes.ProductTypePropertyUrl.deletePropertyUrl(attributeFQN, productTypeId); String verb = "DELETE"; MozuClient mozuClient = (MozuClient) MozuClientFactory.getInstance(); mozuClient.setVerb(verb); mozuClient.setResourceUrl(url); mozuClient.addHeader(Headers.X_VOL_DATAVIEW_MODE ,dataViewMode.toString()); return mozuClient; } }