org.broadleafcommerce.core.catalog.domain.SkuAttribute Maven / Gradle / Ivy
/*
* #%L
* BroadleafCommerce Framework
* %%
* Copyright (C) 2009 - 2013 Broadleaf Commerce
* %%
* 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.
* #L%
*/
package org.broadleafcommerce.core.catalog.domain;
import org.broadleafcommerce.common.value.Searchable;
/**
* Implementations of this interface are used to hold data about a SKU's Attributes.
* A SKU Attribute is a designator on a SKU that differentiates it from other similar SKUs
* (for example: Blue attribute for hat).
*
*
* You should implement this class if you want to make significant changes to how the
* class is persisted. If you just want to add additional fields then you should
* extend {@link SkuAttributeImpl}.
*
* @see {@link SkuAttributeImpl}, {@link Sku}
* @author btaylor
*
*/
public interface SkuAttribute extends Searchable {
/**
* Gets the id.
*
* @return the id
*/
public Long getId();
/**
* Sets the id.
*
* @param id the new id
*/
public void setId(Long id);
/**
* Gets the sku.
*
* @return the sku
*/
public Sku getSku();
/**
* Sets the sku.
*
* @param sku the new sku
*/
public void setSku(Sku sku);
/**
* Gets the name.
*
* @return the name
*/
public String getName();
/**
* Sets the name.
*
* @param name the new name
*/
public void setName(String name);
}