From 437214ec989fe057e6807908686eb7d80700081b Mon Sep 17 00:00:00 2001 From: wenzongteo Date: Sat, 14 Oct 2017 11:34:50 +0800 Subject: [PATCH] Update Person.java --- .../java/seedu/address/model/person/Person.java | 17 +++++++++++++++-- .../address/model/person/ReadOnlyPerson.java | 4 ++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/model/person/Person.java b/src/main/java/seedu/address/model/person/Person.java index 81a8e6c3591c..d9c434e5de89 100644 --- a/src/main/java/seedu/address/model/person/Person.java +++ b/src/main/java/seedu/address/model/person/Person.java @@ -23,18 +23,21 @@ public class Person implements ReadOnlyPerson { private ObjectProperty phone; private ObjectProperty email; private ObjectProperty
address; + private ObjectProperty photo; private ObjectProperty tags; /** * Every field must be present and not null. */ - public Person(Name name, Phone phone, Email email, Address address, Set tags) { + public Person(Name name, Phone phone, Email email, Address address, Photo photo, Set tags) { requireAllNonNull(name, phone, email, address, tags); this.name = new SimpleObjectProperty<>(name); this.phone = new SimpleObjectProperty<>(phone); this.email = new SimpleObjectProperty<>(email); this.address = new SimpleObjectProperty<>(address); + this.photo = new SimpleObjectProperty<>(photo); + // protect internal tags from changes in the arg list this.tags = new SimpleObjectProperty<>(new UniqueTagList(tags)); } @@ -44,7 +47,7 @@ public Person(Name name, Phone phone, Email email, Address address, Set tag */ public Person(ReadOnlyPerson source) { this(source.getName(), source.getPhone(), source.getEmail(), source.getAddress(), - source.getTags()); + source.getPhoto(), source.getTags()); } public void setName(Name name) { @@ -103,6 +106,16 @@ public Address getAddress() { return address.get(); } + public void setPhoto(Photo photo) { + this.photo.set(photo); + } + + @Override + public ObjectProperty photoProperty() { return photo; } + + @Override + public Photo getPhoto() { return photo.get(); } + /** * Returns an immutable tag set, which throws {@code UnsupportedOperationException} * if modification is attempted. diff --git a/src/main/java/seedu/address/model/person/ReadOnlyPerson.java b/src/main/java/seedu/address/model/person/ReadOnlyPerson.java index 3aa837b3c117..bfb9aa14e762 100644 --- a/src/main/java/seedu/address/model/person/ReadOnlyPerson.java +++ b/src/main/java/seedu/address/model/person/ReadOnlyPerson.java @@ -21,6 +21,8 @@ public interface ReadOnlyPerson { Email getEmail(); ObjectProperty
addressProperty(); Address getAddress(); + ObjectProperty photoProperty(); + Photo getPhoto(); ObjectProperty tagProperty(); Set getTags(); boolean containsTags(List tags); @@ -49,6 +51,8 @@ default String getAsText() { .append(getEmail()) .append(" Address: ") .append(getAddress()) + .append(" Image: ") + .append(getPhoto()) .append(" Tags: "); getTags().forEach(builder::append); return builder.toString();