package ru.khasang.cachoeira.model;
import javafx.beans.property.*;
import java.util.concurrent.atomic.AtomicInteger;
public class Resource implements IResource {
private final ReadOnlyIntegerWrapper id = new ReadOnlyIntegerWrapper(this, "id", resourceSequence.incrementAndGet());
private StringProperty name = new SimpleStringProperty(this, "name");
private ObjectProperty<ResourceType> type = new SimpleObjectProperty<>(this, "type");
private StringProperty email = new SimpleStringProperty(this, "email");
private StringProperty description = new SimpleStringProperty(this, "description");
private static AtomicInteger resourceSequence = new AtomicInteger(-1);
public Resource() {
this.name.setValue("Resource" + " " + id.getValue());
this.type.setValue(ResourceType.STUFF);
}
@Override
public int getId() {
return id.get();
}
@Override
public ReadOnlyIntegerProperty idProperty() {
return id.getReadOnlyProperty();
}
@Override
public void setId(int id) {
this.id.set(id);
}
@Override
public final String getName() {
return name.get();
}
@Override
public final void setName(String name) {
this.name.set(name);
}
@Override
public final StringProperty nameProperty() {
return name;
}
@Override
public final ResourceType getType() {
return type.get();
}
@Override
public final void setType(ResourceType type) {
this.type.set(type);
}
@Override
public final ObjectProperty<ResourceType> resourceTypeProperty() {
return type;
}
@Override
public final String getEmail() {
return email.get();
}
@Override
public final void setEmail(String email) {
this.email.set(email);
}
@Override
public final StringProperty emailProperty() {
return email;
}
@Override
public final String getDescription() {
return description.get();
}
@Override
public final void setDescription(String description) {
this.description.set(description);
}
@Override
public final StringProperty descriptionProperty() {
return description;
}
}