Owner.java
上传用户:dezhong
上传日期:2022-08-10
资源大小:167k
文件大小:3k
源码类别:

Java编程

开发平台:

Java

  1. package org.springframework.samples.petclinic;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.HashSet;
  5. import java.util.List;
  6. import java.util.Set;
  7. import org.springframework.beans.support.MutableSortDefinition;
  8. import org.springframework.beans.support.PropertyComparator;
  9. import org.springframework.core.style.ToStringCreator;
  10. /**
  11.  * Simple JavaBean domain object representing an owner.
  12.  *
  13.  * @author Ken Krebs
  14.  * @author Juergen Hoeller
  15.  * @author Sam Brannen
  16.  */
  17. public class Owner extends Person {
  18. private String address;
  19. private String city;
  20. private String telephone;
  21. private Set<Pet> pets;
  22. public String getAddress() {
  23. return this.address;
  24. }
  25. public void setAddress(String address) {
  26. this.address = address;
  27. }
  28. public String getCity() {
  29. return this.city;
  30. }
  31. public void setCity(String city) {
  32. this.city = city;
  33. }
  34. public String getTelephone() {
  35. return this.telephone;
  36. }
  37. public void setTelephone(String telephone) {
  38. this.telephone = telephone;
  39. }
  40. protected void setPetsInternal(Set<Pet> pets) {
  41. this.pets = pets;
  42. }
  43. protected Set<Pet> getPetsInternal() {
  44. if (this.pets == null) {
  45. this.pets = new HashSet<Pet>();
  46. }
  47. return this.pets;
  48. }
  49. public List<Pet> getPets() {
  50. List<Pet> sortedPets = new ArrayList<Pet>(getPetsInternal());
  51. PropertyComparator.sort(sortedPets, new MutableSortDefinition("name", true, true));
  52. return Collections.unmodifiableList(sortedPets);
  53. }
  54. public void addPet(Pet pet) {
  55. getPetsInternal().add(pet);
  56. pet.setOwner(this);
  57. }
  58. /**
  59.  * Return the Pet with the given name, or null if none found for this Owner.
  60.  *
  61.  * @param name to test
  62.  * @return true if pet name is already in use
  63.  */
  64. public Pet getPet(String name) {
  65. return getPet(name, false);
  66. }
  67. /**
  68.  * Return the Pet with the given name, or null if none found for this Owner.
  69.  *
  70.  * @param name to test
  71.  * @return true if pet name is already in use
  72.  */
  73. public Pet getPet(String name, boolean ignoreNew) {
  74. name = name.toLowerCase();
  75. for (Pet pet : getPetsInternal()) {
  76. if (!ignoreNew || !pet.isNew()) {
  77. String compName = pet.getName();
  78. compName = compName.toLowerCase();
  79. if (compName.equals(name)) {
  80. return pet;
  81. }
  82. }
  83. }
  84. return null;
  85. }
  86. @Override
  87. public String toString() {
  88. return new ToStringCreator(this)
  89. .append("id", this.getId())
  90. .append("new", this.isNew())
  91. .append("lastName", this.getLastName())
  92. .append("firstName", this.getFirstName())
  93. .append("address", this.address)
  94. .append("city", this.city)
  95. .append("telephone", this.telephone)
  96. .toString();
  97. }
  98. }