mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-18 05:45:50 +00:00
Update Owner.java
Signed-off-by: AulaEmpresaLKS <129507941+AulaEmpresaLKS@users.noreply.github.com>
This commit is contained in:
parent
473c3a694e
commit
56b3b3148e
1 changed files with 131 additions and 97 deletions
|
@ -1,3 +1,18 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2012-2019 the original author or authors.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
package org.springframework.samples.petclinic.owner;
|
package org.springframework.samples.petclinic.owner;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -21,121 +36,140 @@ import jakarta.validation.constraints.NotBlank;
|
||||||
/**
|
/**
|
||||||
* Simple JavaBean domain object representing an owner.
|
* Simple JavaBean domain object representing an owner.
|
||||||
*
|
*
|
||||||
* (Autores omitidos para mayor claridad)
|
* @author Ken Krebs
|
||||||
|
* @author Juergen Hoeller
|
||||||
|
* @author Sam Brannen
|
||||||
|
* @author Michael Isvy
|
||||||
|
* @author Oliver Drotbohm
|
||||||
|
* @author Wick Dynex
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "owners")
|
@Table(name = "owners")
|
||||||
public class Owner extends Person {
|
public class Owner extends Person {
|
||||||
|
|
||||||
@Column(name = "address")
|
@Column(name = "address")
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String address;
|
private String address;
|
||||||
|
|
||||||
@Column(name = "city")
|
@Column(name = "city")
|
||||||
@NotBlank
|
@NotBlank
|
||||||
private String city;
|
private String city;
|
||||||
|
|
||||||
@Column(name = "telephone")
|
@Column(name = "telephone")
|
||||||
@NotBlank
|
@NotBlank
|
||||||
@Pattern(regexp = "\\d{10}", message = "Telephone must be a 10-digit number")
|
@Pattern(regexp = "\\d{10}", message = "Telephone must be a 10-digit number")
|
||||||
private String telephone;
|
private String telephone;
|
||||||
|
|
||||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "owner_id")
|
@JoinColumn(name = "owner_id")
|
||||||
@OrderBy("name")
|
@OrderBy("name")
|
||||||
private final List<Pet> pets = new ArrayList<>();
|
private final List<Pet> pets = new ArrayList<>();
|
||||||
|
|
||||||
public String getAddress() {
|
public String getAddress() {
|
||||||
return this.address;
|
return this.address;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAddress(String address) {
|
public void setAddress(String address) {
|
||||||
this.address = address;
|
this.address = address;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCity() {
|
public String getCity() {
|
||||||
return this.city;
|
return this.city;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCity(String city) {
|
public void setCity(String city) {
|
||||||
this.city = city;
|
this.city = city;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTelephone() {
|
public String getTelephone() {
|
||||||
return this.telephone;
|
return this.telephone;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTelephone(String telephone) {
|
public void setTelephone(String telephone) {
|
||||||
this.telephone = telephone;
|
this.telephone = telephone;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Pet> getPets() {
|
public List<Pet> getPets() {
|
||||||
return this.pets;
|
return this.pets;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addPet(Pet pet) {
|
public void addPet(Pet pet) {
|
||||||
if (pet.isNew()) {
|
if (pet.isNew()) {
|
||||||
getPets().add(pet);
|
getPets().add(pet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the Pet with the given name, or null if none found for this Owner.
|
* Return the Pet with the given name, or null if none found for this Owner.
|
||||||
*
|
* @param name to test
|
||||||
* @param name to test
|
* @return the Pet with the given name, or null if no such Pet exists for this Owner
|
||||||
* @return the Pet with the given name, or null if no such Pet exists for this Owner
|
*/
|
||||||
*/
|
public Pet getPet(String name) {
|
||||||
public Pet getPet(String name) {
|
return getPet(name, false);
|
||||||
return getPet(name, false);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the Pet with the given id, or null if none found for this Owner.
|
* Return the Pet with the given id, or null if none found for this Owner.
|
||||||
*
|
* @param id to test
|
||||||
* @param id to test
|
* @return the Pet with the given id, or null if no such Pet exists for this Owner
|
||||||
* @return the Pet with the given id, or null if no such Pet exists for this Owner
|
*/
|
||||||
*/
|
public Pet getPet(Integer id) {
|
||||||
public Pet getPet(Integer id) {
|
for (Pet pet : getPets()) {
|
||||||
for (Pet pet : getPets()) {
|
if (!pet.isNew()) {
|
||||||
if (!pet.isNew()) {
|
Integer compId = pet.getId();
|
||||||
Integer compId = pet.getId();
|
if (compId.equals(id)) {
|
||||||
if (compId.equals(id)) {
|
return pet;
|
||||||
return pet;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
return null;
|
||||||
return null;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the Pet with the given name, or null if none found for this Owner.
|
* Return the Pet with the given name, or null if none found for this Owner.
|
||||||
*
|
* @param name to test
|
||||||
* @param name to test
|
* @param ignoreNew whether to ignore new pets (pets that are not saved yet)
|
||||||
* @param ignoreNew whether to ignore new pets (pets that are not saved yet)
|
* @return the Pet with the given name, or null if no such Pet exists for this Owner
|
||||||
* @return the Pet with the given name, or null if no such Pet exists for this Owner
|
*/
|
||||||
*/
|
public Pet getPet(String name, boolean ignoreNew) {
|
||||||
public Pet getPet(String name, boolean ignoreNew) {
|
for (Pet pet : getPets()) {
|
||||||
for (Pet pet : getPets()) {
|
String compName = pet.getName();
|
||||||
String compName = pet.getName();
|
if (compName != null && compName.equalsIgnoreCase(name)) {
|
||||||
if (compName != null && compName.equalsIgnoreCase(name)) {
|
if (!ignoreNew || !pet.isNew()) {
|
||||||
if (!ignoreNew || !pet.isNew()) {
|
return pet;
|
||||||
return pet;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
return null;
|
||||||
return null;
|
}
|
||||||
}
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new ToStringCreator(this).append("id", this.getId())
|
||||||
|
.append("new", this.isNew())
|
||||||
|
.append("lastName", this.getLastName())
|
||||||
|
.append("firstName", this.getFirstName())
|
||||||
|
.append("address", this.address)
|
||||||
|
.append("city", this.city)
|
||||||
|
.append("telephone", this.telephone)
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the given {@link Visit} to the {@link Pet} with the given identifier.
|
||||||
|
* @param petId the identifier of the {@link Pet}, must not be {@literal null}.
|
||||||
|
* @param visit the visit to add, must not be {@literal null}.
|
||||||
|
*/
|
||||||
|
public void addVisit(Integer petId, Visit visit) {
|
||||||
|
|
||||||
|
Assert.notNull(petId, "Pet identifier must not be null!");
|
||||||
|
Assert.notNull(visit, "Visit must not be null!");
|
||||||
|
|
||||||
|
Pet pet = getPet(petId);
|
||||||
|
|
||||||
|
Assert.notNull(pet, "Invalid Pet identifier!");
|
||||||
|
|
||||||
|
pet.addVisit(visit);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return new ToStringCreator(this)
|
|
||||||
.append("id", this.getId())
|
|
||||||
.append("new", this.isNew())
|
|
||||||
.append("lastName", this.getLastName())
|
|
||||||
.append("firstName", this.getFirstName())
|
|
||||||
.append("address", this.address)
|
|
||||||
.append("city", this.city)
|
|
||||||
.append("telephone", this.telephone)
|
|
||||||
.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue