package com.mediamania.prototype;
import java.util.Set;
import java.util.HashSet;
import java.util.Collections;
public class Actor {
private String name;
① private Set roles; // element type: Role
private Actor() {}
public Actor(String name) {
this.name = name;
roles = new HashSet();
}
public String getName() {
return name;
}
② public void addRole(Role role) {
roles.add(role);
}
③ public void removeRole(Role role) {
roles.remove(role);
}
public Set getRoles() {
return Collections.unmodifiableSet(roles);
}
}
package com.mediamania.prototype;
public class Role {
private String name;
private Actor actor;
private Movie movie;
private Role() {}
public Role(String name, Actor actor, Movie movie) {
this.name = name;
this.actor = actor;
this.movie = movie;
actor.addRole(this);
movie.addRole(this);
}
public String getName() {
return name;
}
public Actor getActor() {
return actor;
}
public Movie getMovie() {
return movie;
}
}