Files
java-design-patterns/layers/src/main/java/com/iluwatar/layers/Cake.java
2015-08-13 20:35:13 +03:00

64 lines
1.2 KiB
Java

package com.iluwatar.layers;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
@Entity
public class Cake {
@Id
@GeneratedValue
private Long id;
@OneToOne(cascade=CascadeType.REMOVE)
private CakeTopping topping;
@OneToMany(cascade=CascadeType.REMOVE, fetch=FetchType.EAGER)
private Set<CakeLayer> layers;
public Cake() {
setLayers(new HashSet<>());
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public CakeTopping getTopping() {
return topping;
}
public void setTopping(CakeTopping topping) {
this.topping = topping;
}
public Set<CakeLayer> getLayers() {
return layers;
}
public void setLayers(Set<CakeLayer> layers) {
this.layers = layers;
}
public void addLayer(CakeLayer layer) {
this.layers.add(layer);
}
@Override
public String toString() {
return String.format("id=%s topping=%s layers=%s", id, topping, layers.toString());
}
}