/** * Most of the code in the Qalingo project is copyrighted Hoteia and licensed * under the Apache License Version 2.0 (release version 0.8.0) * http://www.apache.org/licenses/LICENSE-2.0 * * Copyright (c) Hoteia, 2012-2014 * http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com * */ package org.hoteia.qalingo.core.domain; import java.util.Date; import java.util.List; import java.util.Set; public abstract class AbstractCatalogCategory<C, E, A extends AbstractAttribute<A>, D> extends AbstractExtendEntity<E, A> { /** * Generated UID */ private static final long serialVersionUID = 1592929754749916781L; public abstract Long getId(); public abstract int getVersion(); public abstract String getCode(); public abstract CatalogCategoryType getCatalogCategoryType(); public abstract String getName(); public abstract String getDescription(); public abstract boolean isDefault() ; public abstract Integer getRanking(); public abstract C getCatalog(); public abstract boolean isRoot(); public abstract E getParentCatalogCategory(); public abstract Set<A> getAttributes(); public abstract Set<E> getCatalogCategories(); public abstract List<E> getSortedChildCatalogCategories(); public abstract Set<D> getCatalogCategoryProductSkuRels(); public abstract List<ProductSku> getSortedProductSkus(); public abstract List<ProductMarketing> getSortedProductMarketings(); public abstract Set<Asset> getAssets(); public abstract List<Asset> getAssetsIsGlobal(); public abstract List<Asset> getAssetsByMarketArea(); public abstract Date getDateCreate(); public abstract Date getDateUpdate(); public abstract String getI18nName(String localizationCode); public abstract String getI18nDescription(String localizationCode); }