]> git.mxchange.org Git - jcustomer-core.git/blob - src/org/mxchange/jshop/model/category/Category.java
Inital import
[jcustomer-core.git] / src / org / mxchange / jshop / model / category / Category.java
1 /*
2  * Copyright (C) 2015 Roland Haeder
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 package org.mxchange.jshop.model.category;
18
19 import java.io.UnsupportedEncodingException;
20 import org.mxchange.jshop.ShopInterface;
21
22 /**
23  * An interface for categories
24  *
25  * @author Roland Haeder
26  */
27 public interface Category extends ShopInterface, Comparable<Category> {
28
29         /**
30          * Id number of category
31          * @return the id
32          */
33         public Long getCategoryId ();
34
35         /**
36          * Id number of category
37          * @param id the id to set
38          */
39         public void setCategoryId (final Long id);
40
41         /**
42          * Parent category id
43          * @return the parent
44          */
45         public Long getParentId ();
46
47         /**
48          * Parent category id
49          * @param parent the parent to set
50          */
51         public void setParentId (final Long parent);
52
53         /**
54          * Title of category
55          * @return the title
56          */
57         public String getTitle ();
58
59         /**
60          * Title of category
61          * @param title the title to set
62          */
63         public void setTitle (final String title);
64
65         /**
66          * Compare method
67          * @param category Category to compare to
68          * @return Comparison value
69          */
70         @Override
71         public int compareTo (final Category category);
72
73         /**
74          * Decodes the UTF8-encoded title
75          *
76          * @return Decoded title
77          * @throws java.io.UnsupportedEncodingException If the encoding UTF-8 is not supported
78          */
79         public String getDecodedTitle () throws UnsupportedEncodingException ;
80 }