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
-
-