Interface ShippingLabelProvider

  • All Known Implementing Classes:
    ShipEngineFulfillmentPricingProvider

    public interface ShippingLabelProvider
    Provides methods to facilitate creating or accessing shipping labels.
    Author:
    Cade Rea (cade-rea)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean canProvideShippingLabel​(String fulfillmentOptionName)
      Indicate if this fulfillment provider can provide shipping labels for the given fulfillment option.
      ShippingLabelDownload provideShippingLabel​(com.broadleafcommerce.order.client.domain.OrderFulfillment orderFulfillment, boolean purchase, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Get the shipping label associated with this fulfillment.
      boolean shippingLabelIsPurchased​(com.broadleafcommerce.order.client.domain.OrderFulfillment orderFulfillment, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Indicate if a shipping label has already been purchased for this fulfillment.
    • Method Detail

      • canProvideShippingLabel

        boolean canProvideShippingLabel​(@Nullable
                                        String fulfillmentOptionName)
        Indicate if this fulfillment provider can provide shipping labels for the given fulfillment option.
        Parameters:
        fulfillmentOptionName - The name of the fulfillment option to check.
        Returns:
        true if this ShippingLabelProvider can provide a shipping label for the given fulfillmentOptionName.
      • shippingLabelIsPurchased

        boolean shippingLabelIsPurchased​(com.broadleafcommerce.order.client.domain.OrderFulfillment orderFulfillment,
                                         @Nullable
                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Indicate if a shipping label has already been purchased for this fulfillment.
        Parameters:
        orderFulfillment -
        Returns:
        true if there is an existing label for this fulfillment
      • provideShippingLabel

        ShippingLabelDownload provideShippingLabel​(com.broadleafcommerce.order.client.domain.OrderFulfillment orderFulfillment,
                                                   boolean purchase,
                                                   @Nullable
                                                   com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
                                            throws LabelException
        Get the shipping label associated with this fulfillment. If a label does not already exist, the purchase parameter will be checked to determine if a new label should be purchased.
        Parameters:
        orderFulfillment - The fulfillment for which to get a shipping label.
        purchase - True if shipping should be purchased, false if an existing label should be read.
        Returns:
        a Map with the label response for the shipping label
        Throws:
        LabelException