// Generated by xsd compiler for ios/objective-c
// DO NOT CHANGE!

#import <Foundation/Foundation.h>
#import "Trading_ProductSearchType.h"
#import "Trading_ExternalProductIDType.h"
#import "Trading_CharacteristicSetIDsType.h"
#import "Trading_SearchAttributesType.h"
#import "Trading_PaginationType.h"

@implementation Trading_ProductSearchType

@synthesize productSearchID = _productSearchID;
@synthesize attributeSetID = _attributeSetID;
@synthesize productFinderID = _productFinderID;
@synthesize productID = _productID;
@synthesize sortAttributeID = _sortAttributeID;
@synthesize maxChildrenPerFamily = _maxChildrenPerFamily;
@synthesize searchAttributes = _searchAttributes;
@synthesize pagination = _pagination;
@synthesize availableItemsOnly = _availableItemsOnly;
@synthesize queryKeywords = _queryKeywords;
@synthesize characteristicSetIDs = _characteristicSetIDs;
@synthesize productReferenceID = _productReferenceID;
@synthesize externalProductID = _externalProductID;
@synthesize any = _any;

// class meta-data method
// note: this method is only for internal use, DO NOT CHANGE!
+(PicoClassSchema *)getClassMetaData {
    return nil;
}

// property meta-data method
// note: this method is only for internal use, DO NOT CHANGE!
+(NSMutableDictionary *)getPropertyMetaData {
    NSMutableDictionary *map = [NSMutableDictionary dictionary];
    
    PicoPropertySchema *ps = nil;
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"ProductSearchID" propertyName:@"productSearchID" type:PICO_TYPE_STRING clazz:nil];
    [map setObject:ps forKey:@"productSearchID"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"AttributeSetID" propertyName:@"attributeSetID" type:PICO_TYPE_INT clazz:nil];
    [map setObject:ps forKey:@"attributeSetID"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"ProductFinderID" propertyName:@"productFinderID" type:PICO_TYPE_INT clazz:nil];
    [map setObject:ps forKey:@"productFinderID"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"ProductID" propertyName:@"productID" type:PICO_TYPE_STRING clazz:nil];
    [map setObject:ps forKey:@"productID"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"SortAttributeID" propertyName:@"sortAttributeID" type:PICO_TYPE_INT clazz:nil];
    [map setObject:ps forKey:@"sortAttributeID"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"MaxChildrenPerFamily" propertyName:@"maxChildrenPerFamily" type:PICO_TYPE_INT clazz:nil];
    [map setObject:ps forKey:@"maxChildrenPerFamily"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT_ARRAY xmlName:@"SearchAttributes" propertyName:@"searchAttributes" type:PICO_TYPE_OBJECT clazz:[Trading_SearchAttributesType class]];
    [map setObject:ps forKey:@"searchAttributes"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"Pagination" propertyName:@"pagination" type:PICO_TYPE_OBJECT clazz:[Trading_PaginationType class]];
    [map setObject:ps forKey:@"pagination"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"AvailableItemsOnly" propertyName:@"availableItemsOnly" type:PICO_TYPE_BOOL clazz:nil];
    [map setObject:ps forKey:@"availableItemsOnly"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"QueryKeywords" propertyName:@"queryKeywords" type:PICO_TYPE_STRING clazz:nil];
    [map setObject:ps forKey:@"queryKeywords"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"CharacteristicSetIDs" propertyName:@"characteristicSetIDs" type:PICO_TYPE_OBJECT clazz:[Trading_CharacteristicSetIDsType class]];
    [map setObject:ps forKey:@"characteristicSetIDs"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"ProductReferenceID" propertyName:@"productReferenceID" type:PICO_TYPE_STRING clazz:nil];
    [map setObject:ps forKey:@"productReferenceID"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ELEMENT xmlName:@"ExternalProductID" propertyName:@"externalProductID" type:PICO_TYPE_OBJECT clazz:[Trading_ExternalProductIDType class]];
    [map setObject:ps forKey:@"externalProductID"];
    [ps release];
    ps = [[PicoPropertySchema alloc] initWithKind:PICO_KIND_ANY_ELEMENT xmlName:@"any" propertyName:@"any" type:PICO_TYPE_ANYELEMENT clazz:nil];
    [map setObject:ps forKey:@"any"];
    [ps release];
    
    return map;
}



-(void)dealloc {
    self.productSearchID = nil;
    self.attributeSetID = nil;
    self.productFinderID = nil;
    self.productID = nil;
    self.sortAttributeID = nil;
    self.maxChildrenPerFamily = nil;
    self.searchAttributes = nil;
    self.pagination = nil;
    self.availableItemsOnly = nil;
    self.queryKeywords = nil;
    self.characteristicSetIDs = nil;
    self.productReferenceID = nil;
    self.externalProductID = nil;
    self.any = nil;
    [super dealloc];
}

@end
