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

Java编程

开发平台:

Java

  1. package org.springframework.samples.petclinic;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.Date;
  5. import java.util.HashSet;
  6. import java.util.List;
  7. import java.util.Set;
  8. import org.springframework.beans.support.MutableSortDefinition;
  9. import org.springframework.beans.support.PropertyComparator;
  10. /**
  11.  * Simple JavaBean business object representing a pet.
  12.  *
  13.  * @author Ken Krebs
  14.  * @author Juergen Hoeller
  15.  * @author Sam Brannen
  16.  */
  17. public class Pet extends NamedEntity {
  18. private Date birthDate;
  19. private PetType type;
  20. private Owner owner;
  21. private Set<Visit> visits;
  22. public void setBirthDate(Date birthDate) {
  23. this.birthDate = birthDate;
  24. }
  25. public Date getBirthDate() {
  26. return this.birthDate;
  27. }
  28. public void setType(PetType type) {
  29. this.type = type;
  30. }
  31. public PetType getType() {
  32. return this.type;
  33. }
  34. protected void setOwner(Owner owner) {
  35. this.owner = owner;
  36. }
  37. public Owner getOwner() {
  38. return this.owner;
  39. }
  40. protected void setVisitsInternal(Set<Visit> visits) {
  41. this.visits = visits;
  42. }
  43. protected Set<Visit> getVisitsInternal() {
  44. if (this.visits == null) {
  45. this.visits = new HashSet<Visit>();
  46. }
  47. return this.visits;
  48. }
  49. public List<Visit> getVisits() {
  50. List<Visit> sortedVisits = new ArrayList<Visit>(getVisitsInternal());
  51. PropertyComparator.sort(sortedVisits, new MutableSortDefinition("date", false, false));
  52. return Collections.unmodifiableList(sortedVisits);
  53. }
  54. public void addVisit(Visit visit) {
  55. getVisitsInternal().add(visit);
  56. visit.setPet(this);
  57. }
  58. }