80 lines
1.4 KiB
PHP
80 lines
1.4 KiB
PHP
<?php
|
|
/**
|
|
* Interface ShippingContents
|
|
*
|
|
* @package WPDesk\FS\TableRate
|
|
*/
|
|
|
|
namespace WPDesk\FS\TableRate\Rule\ShippingContents;
|
|
|
|
use WPDesk\FS\TableRate\Rule\ContentsFilter;
|
|
|
|
/**
|
|
* Can provide shipping contents.
|
|
*/
|
|
interface ShippingContents {
|
|
|
|
/**
|
|
* @param int $weight_rounding_precision .
|
|
*/
|
|
public function set_weight_rounding_precision( $weight_rounding_precision );
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function get_contents();
|
|
|
|
/**
|
|
* @return float
|
|
*/
|
|
public function get_contents_cost();
|
|
|
|
/**
|
|
* @param bool $round .
|
|
*
|
|
* @return float
|
|
*/
|
|
public function get_contents_weight( $round = true );
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function get_contents_items_count();
|
|
|
|
/**
|
|
* @param ContentsFilter $contents_filter .
|
|
*/
|
|
public function filter_contents( ContentsFilter $contents_filter );
|
|
|
|
/**
|
|
* Returns non filtered contents.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function get_non_filtered_contents();
|
|
|
|
/**
|
|
* Reset contents to non filtered.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function reset_contents();
|
|
|
|
/**
|
|
* @return DestinationAddress
|
|
*/
|
|
public function get_destination_address();
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function get_currency();
|
|
|
|
public function set_meta( ShippingContentsMeta $meta );
|
|
|
|
public function get_meta( string $key ): ?ShippingContentsMeta;
|
|
|
|
public function get_calculated_shipping_cost(): float;
|
|
|
|
public function set_calculated_shipping_cost( float $calculated_shipping_cost ): void;
|
|
}
|