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

org.broadleafcommerce.core.order.domain.OrderMultishipOption Maven / Gradle / Ivy

There is a newer version: 3.1.15-GA
Show newest version
/*
 * #%L
 * BroadleafCommerce Framework
 * %%
 * Copyright (C) 2009 - 2013 Broadleaf Commerce
 * %%
 * 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.
 * #L%
 */
package org.broadleafcommerce.core.order.domain;

import org.broadleafcommerce.profile.core.domain.Address;

/**
 * Represents a given set of options for an OrderItem in an Order in the 
 * multiship context. This class is used to store current multiship settings
 * for an Order without having to generate the necessary FulfillmentGroups and
 * FulfillmentGroupItems. It also can be used to re-create the multiship set
 * should the Order change
 * 
 * @author Andre Azzolini (apazzolini)
 */
public interface OrderMultishipOption {

    /**
     * Returns the internal id of this OrderMultishipOption
     * 
     * @return the internal id
     */
    public Long getId();

    /**
     * Sets the internal id of this OrderMultishipOption
     * 
     * @param id the internal id
     */
    public void setId(Long id);

    /**
     * Returns the Order associated with this OrderMultishipOption
     * 
     * @return the associated Order
     */
    public Order getOrder();

    /**
     * Sets the associated Order with this OrderMultishipOption
     * 
     * @param order the associated order
     */
    public void setOrder(Order order);

    /**
     * Gets the OrderItem associated with this OrderMultishipOption.
     * Note that the default Broadleaf implementation will produce
     * an equal number of instances of OrderMultishipOption to the
     * quantity of the OrderItem
     * 
     * @return the associated OrderItem
     */
    public OrderItem getOrderItem();

    /**
     * Sets the associated OrderItem with this OrderMultishipOption
     * 
     * @see OrderMultishipOption#getOrderItem()
     * 
     * @param orderItem the associated OrderItem
     */
    public void setOrderItem(OrderItem orderItem);

    /**
     * Gets the associated Address with this OrderMultishipOption
     * 
     * @return the associated Address
     */
    public Address getAddress();

    /**
     * Sets the associated Address with this OrderMultishipOption
     * 
     * @param address the associated Address
     */
    public void setAddress(Address address);

    /**
     * Gets the associated FulfillmentOption with this OrderMultishipOption
     * 
     * @return the associated FulfillmentOption
     */
    public FulfillmentOption getFulfillmentOption();

    /**
     * Sets the associated FulfillmentOption with this OrderMultishipOption
     * 
     * @param fulfillmentOption the associated FulfillmentOption
     */
    public void setFulfillmentOption(FulfillmentOption fulfillmentOption);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy