summaryrefslogtreecommitdiffstats
path: root/Master/Reference Architectures and Patterns/EJB 3.0 Code/Micah Examples/src/examples/entity/single_table/RoadVehicle.java
blob: 75a258a288479002acd9505596bee368d19a6fdf (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
package examples.entity.single_table;

import java.io.Serializable;

import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

@Entity(name="RoadVehicleSingle")
@Table(name="RoadVehicleSingle")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="DISC", discriminatorType=DiscriminatorType.STRING)
@DiscriminatorValue("ROADVEHICLE")
public class RoadVehicle implements Serializable {
	public enum AcceleratorType {PEDAL,THROTTLE};
	
	@Id
	protected int id;
	protected int numPassengers;
	protected int numWheels;
	protected String make;
	protected String model;
	
	public RoadVehicle() {
		id = (int) System.nanoTime();
	}
	
	public int getNumPassengers() {
		return numPassengers;
	}
	
	public void setNumPassengers(int numPassengers) {
		this.numPassengers = numPassengers;
	}
	
	public int getNumWheels() {
		return numWheels;
	}
	
	public void setNumWheels(int numWheels) {
		this.numWheels = numWheels;
	}

	public int getId() {
		return id;
	}

	public String getMake() {
		return make;
	}

	public void setMake(String make) {
		this.make = make;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}
	
	public String toString() {
			return "Make: "+make+", Model: "+model+", Number of passengers: "+numPassengers;
	}
}