47 lines
918 B
Java
47 lines
918 B
Java
package de.ph87.home.device;
|
|
|
|
import de.ph87.home.area.Area;
|
|
import jakarta.persistence.Column;
|
|
import jakarta.persistence.Entity;
|
|
import jakarta.persistence.Id;
|
|
import jakarta.persistence.ManyToOne;
|
|
import lombok.*;
|
|
|
|
import java.util.UUID;
|
|
|
|
@Entity
|
|
@Getter
|
|
@ToString
|
|
@NoArgsConstructor
|
|
public class Device {
|
|
|
|
@Id
|
|
@NonNull
|
|
private String uuid = UUID.randomUUID().toString();
|
|
|
|
@NonNull
|
|
@ManyToOne(optional = false)
|
|
private Area area;
|
|
|
|
@NonNull
|
|
@Column(nullable = false)
|
|
private String name;
|
|
|
|
@NonNull
|
|
@Column(nullable = false, unique = true)
|
|
private String slug;
|
|
|
|
@Setter
|
|
@NonNull
|
|
@Column(nullable = false)
|
|
private String statePropertyId;
|
|
|
|
public Device(final Area area, @NonNull final String name, @NonNull final String slug, @NonNull final String statePropertyId) {
|
|
this.area = area;
|
|
this.name = name;
|
|
this.slug = slug;
|
|
this.statePropertyId = statePropertyId;
|
|
}
|
|
|
|
}
|