summaryrefslogtreecommitdiffstats
path: root/src/jpa/Category.java
blob: c29c1f7045c38748185e15da03553d8da79b0f6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package jpa;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

@Entity
public class Category implements Serializable
{
   @Id
   private int id;

   private String name;

   private String description;

   @ManyToMany(mappedBy = "categoryCollection")
   private Set<Product> productCollection;

   private static final long serialVersionUID = 1L;

   public Category()
   {
      super();
   }

   public int getId()
   {
      return this.id;
   }

   public void setId(int id)
   {
      this.id = id;
   }

   public String getName()
   {
      return this.name;
   }

   public void setName(String name)
   {
      this.name = name;
   }

   public String getDescription()
   {
      return this.description;
   }

   public void setDescription(String description)
   {
      this.description = description;
   }

   /**
    * The method <code>getProductCollection()</code> returns a
    * Collection object that is incompatible with JSF.
    *
    * @return collection of product objects.
    */
   public Collection<Product> getProducts()
   {
      Collection<Product> c = new ArrayList<Product>();
      
      for (Iterator iter = getProductCollection().iterator(); iter.hasNext();)
      {
         Product product = (Product) iter.next();
         c.add(product);
//         System.out.println(product.getName());
      }
      
      return c;
   }

   public Set<Product> getProductCollection()
   {
      return this.productCollection;
   }

   public void setProductCollection(Set<Product> productCollection)
   {
      this.productCollection = productCollection;
   }

   public void addProduct(Product product)
   {
      Set<Product> products = getProductCollection();
      if (!products.contains(product))
      {
         products.add(product);
         product.addCategory(this);
      }
   }

}