// Path: client/src/main/java/com/shopzilla/api/client/model/Attribute.java
// public class Attribute {
// 
//     private String label;
//     private String id;
//     private List<AttributeValue> values = Collections.emptyList();
// 
//     @Override
//     public int hashCode() {
//         return new HashCodeBuilder()
//                 .append(id)
//                 .toHashCode();
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         
//         if (o == this) {
//             return true;
//         }
// 
//         if (o == null || !(o instanceof Attribute)) {
//             return false;
//         }
// 
//         Attribute rhs = (Attribute) o;
// 
//         return new EqualsBuilder()
//                 .append(id, rhs.id)
//                 .isEquals();
//     }
// 
//     @Override
//     public String toString() {
//         return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                 .append("id", id)
//                 .append("label", label)
//                 .append("values", values)
//                 .toString();
//     }
// 
//     public String getLabel() {
//         return label;
//     }
// 
//     public void setLabel(String label) {
//         this.label = label;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public List<AttributeValue> getValues() {
//         return values;
//     }
// 
//     public void setValues(List<AttributeValue> values) {
//         this.values = values;
//     }
// 
// }


import java.util.List;
import com.shopzilla.api.client.model.Attribute;
/**
 * Copyright 2011 Shopzilla.com
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.shopzilla.api.client.model.request;



/**
 * Model object for invoking the Attribute Catalog API endpoint
 *
 * @author sscanlon
 * @author eblanco
 * @author nbajpai
 */
public class AttributeSearchRequest extends AbstractSearchRequest {

    private static final int DEFAULT_NUM_RESULTS = 20;
    private static final int DEFAULT_RESULTS_ATTRIBUTE_VALUES = 100;

    private String keyword;
    private Integer numResults = DEFAULT_NUM_RESULTS;
    private Integer resultsAttributeValues = DEFAULT_RESULTS_ATTRIBUTE_VALUES;
    private String attributeId;
// Path: client/src/main/java/com/shopzilla/api/client/model/Attribute.java
// public class Attribute {
// 
//     private String label;
//     private String id;
//     private List<AttributeValue> values = Collections.emptyList();
// 
//     @Override
//     public int hashCode() {
//         return new HashCodeBuilder()
//                 .append(id)
//                 .toHashCode();
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         
//         if (o == this) {
//             return true;
//         }
// 
//         if (o == null || !(o instanceof Attribute)) {
//             return false;
//         }
// 
//         Attribute rhs = (Attribute) o;
// 
//         return new EqualsBuilder()
//                 .append(id, rhs.id)
//                 .isEquals();
//     }
// 
//     @Override
//     public String toString() {
//         return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                 .append("id", id)
//                 .append("label", label)
//                 .append("values", values)
//                 .toString();
//     }
// 
//     public String getLabel() {
//         return label;
//     }
// 
//     public void setLabel(String label) {
//         this.label = label;
//     }
// 
//     public String getId() {
//         return id;
//     }
// 
//     public void setId(String id) {
//         this.id = id;
//     }
// 
//     public List<AttributeValue> getValues() {
//         return values;
//     }
// 
//     public void setValues(List<AttributeValue> values) {
//         this.values = values;
//     }
// 
// }


// Path: client/src/main/java/com/shopzilla/api/client/model/request/AttributeSearchRequest.java
import java.util.List;
import com.shopzilla.api.client.model.Attribute;

/**
 * Copyright 2011 Shopzilla.com
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.shopzilla.api.client.model.request;



/**
 * Model object for invoking the Attribute Catalog API endpoint
 *
 * @author sscanlon
 * @author eblanco
 * @author nbajpai
 */
public class AttributeSearchRequest extends AbstractSearchRequest {

    private static final int DEFAULT_NUM_RESULTS = 20;
    private static final int DEFAULT_RESULTS_ATTRIBUTE_VALUES = 100;

    private String keyword;
    private Integer numResults = DEFAULT_NUM_RESULTS;
    private Integer resultsAttributeValues = DEFAULT_RESULTS_ATTRIBUTE_VALUES;
    private String attributeId;
    private List<Attribute> attributes;