public function __construct($data = null)
 {
     self::$DEFAULT_CONTENT_TYPE = new Feeds_Model_ContentType(array('ContentType' => 'application/octet-stream'));
     // Here we're setting the content-type field directly to the object, but beware the actual
     // method of construction from associative arrays from the client interface would do something like:
     // $parameters = array ('ContentType' => array('ContentType' => 'application/octet-stream'));
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'MarketplaceIdList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_IdList'), 'FeedContent' => array('FieldValue' => null, 'FieldType' => 'string'), 'FeedType' => array('FieldValue' => null, 'FieldType' => 'string'), 'PurgeAndReplace' => array('FieldValue' => null, 'FieldType' => 'bool'), 'ContentMd5' => array('FieldValue' => null, 'FieldType' => 'string'), 'ContentType' => array('FieldValue' => self::$DEFAULT_CONTENT_TYPE, 'FieldType' => 'MarketplaceWebService_Model_ContentType'));
     parent::__construct($data);
     if (!is_null($this->fields['ContentType']['FieldValue'])) {
         $this->verifySupportedContentType($this->fields['ContentType']['FieldValue']);
     }
 }
 /**
  * Construct new MarketplaceWebService_Model_GetFeedSubmissionListByNextTokenRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Marketplace: string</li>
  * <li>Merchant: string</li>
  * <li>NextToken: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'NextToken' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_CancelReportRequestsResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Count: int</li>
  * <li>ReportRequestInfo: MarketplaceWebService_Model_ReportRequestInfo</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Count' => array('FieldValue' => null, 'FieldType' => 'int'), 'ReportRequestInfo' => array('FieldValue' => array(), 'FieldType' => array('MarketplaceWebService_Model_ReportRequestInfo')));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_GetReportScheduleCountRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Marketplace: string</li>
  * <li>Merchant: string</li>
  * <li>ReportTypeList: MarketplaceWebService_Model_TypeList</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'ReportTypeList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_TypeList'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_ReportRequestInfo
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ReportRequestId: string</li>
  * <li>ReportType: string</li>
  * <li>StartDate: string</li>
  * <li>EndDate: string</li>
  * <li>Scheduled: bool</li>
  * <li>SubmittedDate: string</li>
  * <li>ReportProcessingStatus: string</li>
  * <li>GeneratedReportId: string</li>
  * <li>StartedProcessingDate: string</li>
  * <li>CompletedDate: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('ReportRequestId' => array('FieldValue' => null, 'FieldType' => 'string'), 'ReportType' => array('FieldValue' => null, 'FieldType' => 'string'), 'StartDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'EndDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'Scheduled' => array('FieldValue' => null, 'FieldType' => 'bool'), 'SubmittedDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'ReportProcessingStatus' => array('FieldValue' => null, 'FieldType' => 'string'), 'GeneratedReportId' => array('FieldValue' => null, 'FieldType' => 'string'), 'StartedProcessingDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'CompletedDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_GetFeedSubmissionListResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>NextToken: string</li>
  * <li>HasNext: bool</li>
  * <li>FeedSubmissionInfo: MarketplaceWebService_Model_FeedSubmissionInfo</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('NextToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'HasNext' => array('FieldValue' => null, 'FieldType' => 'bool'), 'FeedSubmissionInfo' => array('FieldValue' => array(), 'FieldType' => array('MarketplaceWebService_Model_FeedSubmissionInfo')));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_GetReportScheduleListByNextTokenResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>GetReportScheduleListByNextTokenResult: MarketplaceWebService_Model_GetReportScheduleListByNextTokenResult</li>
  * <li>ResponseMetadata: MarketplaceWebService_Model_ResponseMetadata</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('GetReportScheduleListByNextTokenResult' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_GetReportScheduleListByNextTokenResult'), 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_ResponseMetadata'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_GetReportResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('ContentMd5' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_GetReportListRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Marketplace: string</li>
  * <li>Merchant: string</li>
  * <li>MaxCount: int</li>
  * <li>ReportTypeList: MarketplaceWebService_Model_TypeList</li>
  * <li>Acknowledged: bool</li>
  * <li>AvailableFromDate: string</li>
  * <li>AvailableToDate: string</li>
  * <li>ReportRequestIdList: MarketplaceWebService_Model_IdList</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'MaxCount' => array('FieldValue' => null, 'FieldType' => 'string'), 'ReportTypeList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_TypeList'), 'Acknowledged' => array('FieldValue' => null, 'FieldType' => 'bool'), 'AvailableFromDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'AvailableToDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'ReportRequestIdList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_IdList'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_ManageReportScheduleRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Marketplace: string</li>
  * <li>Merchant: string</li>
  * <li>ReportType: string</li>
  * <li>Schedule: string</li>
  * <li>ScheduleDate: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'ReportType' => array('FieldValue' => null, 'FieldType' => 'string'), 'Schedule' => array('FieldValue' => null, 'FieldType' => 'string'), 'ScheduleDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_ErrorResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Error: MarketplaceWebService_Model_Error</li>
  * <li>RequestId: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Error' => array('FieldValue' => array(), 'FieldType' => 'MarketplaceWebService_Model_Error'), 'RequestId' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_CancelFeedSubmissionsRequest
  *
  * @param mixed $data DOMElement or Associative Array to construct from.
  *
  * Valid properties:
  * <ul>
  *
  * <li>Marketplace: string</li>
  * <li>Merchant: string</li>
  * <li>FeedSubmissionIdList: MarketplaceWebService_Model_IdList</li>
  * <li>FeedTypeList: MarketplaceWebService_Model_TypeList</li>
  * <li>SubmittedFromDate: string</li>
  * <li>SubmittedToDate: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'FeedSubmissionIdList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_IdList'), 'FeedTypeList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_TypeList'), 'SubmittedFromDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'SubmittedToDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_StatusList
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Status: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Status' => array('FieldValue' => array(), 'FieldType' => array('string')));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_SubmitFeedResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>FeedSubmissionInfo: MarketplaceWebService_Model_FeedSubmissionInfo</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('FeedSubmissionInfo' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_FeedSubmissionInfo'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_CancelReportRequestsResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>CancelReportRequestsResult: MarketplaceWebService_Model_CancelReportRequestsResult</li>
  * <li>ResponseMetadata: MarketplaceWebService_Model_ResponseMetadata</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('CancelReportRequestsResult' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_CancelReportRequestsResult'), 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_ResponseMetadata'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_GetReportCountResult
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Count: int</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Count' => array('FieldValue' => null, 'FieldType' => 'int'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_Error
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Type: string</li>
  * <li>Code: string</li>
  * <li>Message: string</li>
  * <li>Detail: MarketplaceWebService_Model_Object</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Type' => array('FieldValue' => null, 'FieldType' => 'string'), 'Code' => array('FieldValue' => null, 'FieldType' => 'string'), 'Message' => array('FieldValue' => null, 'FieldType' => 'string'), 'Detail' => array('FieldValue' => null, 'FieldType' => 'string'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_GetFeedSubmissionListResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>GetFeedSubmissionListResult: MarketplaceWebService_Model_GetFeedSubmissionListResult</li>
  * <li>ResponseMetadata: MarketplaceWebService_Model_ResponseMetadata</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('GetFeedSubmissionListResult' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_GetFeedSubmissionListResult'), 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_ResponseMetadata'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_ReportSchedule
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ReportType: string</li>
  * <li>Schedule: string</li>
  * <li>ScheduledDate: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('ReportType' => array('FieldValue' => null, 'FieldType' => 'string'), 'Schedule' => array('FieldValue' => null, 'FieldType' => 'string'), 'ScheduledDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_CancelReportRequestsRequest
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>Marketplace: string</li>
  * <li>Merchant: string</li>
  * <li>ReportRequestIdList: MarketplaceWebService_Model_IdList</li>
  * <li>ReportTypeList: MarketplaceWebService_Model_TypeList</li>
  * <li>ReportProcessingStatusList: MarketplaceWebService_Model_StatusList</li>
  * <li>RequestedFromDate: string</li>
  * <li>RequestedToDate: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('Marketplace' => array('FieldValue' => null, 'FieldType' => 'string'), 'Merchant' => array('FieldValue' => null, 'FieldType' => 'string'), 'MWSAuthToken' => array('FieldValue' => null, 'FieldType' => 'string'), 'ReportRequestIdList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_IdList'), 'ReportTypeList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_TypeList'), 'ReportProcessingStatusList' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_StatusList'), 'RequestedFromDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'RequestedToDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_FeedSubmissionInfo
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>FeedSubmissionId: string</li>
  * <li>FeedType: string</li>
  * <li>SubmittedDate: string</li>
  * <li>FeedProcessingStatus: string</li>
  * <li>StartedProcessingDate: string</li>
  * <li>CompletedProcessingDate: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('FeedSubmissionId' => array('FieldValue' => null, 'FieldType' => 'string'), 'FeedType' => array('FieldValue' => null, 'FieldType' => 'string'), 'SubmittedDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'FeedProcessingStatus' => array('FieldValue' => null, 'FieldType' => 'string'), 'StartedProcessingDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'CompletedProcessingDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_ReportInfo
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>ReportId: string</li>
  * <li>ReportType: string</li>
  * <li>ReportRequestId: string</li>
  * <li>AvailableDate: string</li>
  * <li>Acknowledged: bool</li>
  * <li>AcknowledgedDate: string</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('ReportId' => array('FieldValue' => null, 'FieldType' => 'string'), 'ReportType' => array('FieldValue' => null, 'FieldType' => 'string'), 'ReportRequestId' => array('FieldValue' => null, 'FieldType' => 'string'), 'AvailableDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'), 'Acknowledged' => array('FieldValue' => null, 'FieldType' => 'bool'), 'AcknowledgedDate' => array('FieldValue' => null, 'FieldType' => 'DateTime'));
     parent::__construct($data);
 }
 /**
  * Construct new MarketplaceWebService_Model_UpdateReportAcknowledgementsResponse
  * 
  * @param mixed $data DOMElement or Associative Array to construct from. 
  * 
  * Valid properties:
  * <ul>
  * 
  * <li>UpdateReportAcknowledgementsResult: MarketplaceWebService_Model_UpdateReportAcknowledgementsResult</li>
  * <li>ResponseMetadata: MarketplaceWebService_Model_ResponseMetadata</li>
  *
  * </ul>
  */
 public function __construct($data = null)
 {
     $this->fields = array('UpdateReportAcknowledgementsResult' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_UpdateReportAcknowledgementsResult'), 'ResponseMetadata' => array('FieldValue' => null, 'FieldType' => 'MarketplaceWebService_Model_ResponseMetadata'));
     parent::__construct($data);
 }