- return Optional.fromNullable(images.get(albumImage)).or(images.values().iterator().next());
- }
-
- @Override
- public Album getParent() {
- return parent;
- }
-
- @Override
- public Album setParent(Album parent) {
- this.parent = checkNotNull(parent, "parent must not be null");
- return this;
- }
-
- @Override
- public Album removeParent() {
- this.parent = null;
- return this;
- }
-
- @Override
- public AlbumBuilder newAlbumBuilder() {
- return new DefaultAlbumBuilder(sone) {
- @Override
- public Album build() throws IllegalStateException {
- Album album = super.build();
- albums.add(album);
- return album;
- }
- };
- }
-
- @Override
- public ImageBuilder newImageBuilder() throws IllegalStateException {
- return new DefaultImageBuilder(sone, this) {
- @Override
- public Image build() throws IllegalStateException {
- Image image = super.build();
- if (images.isEmpty() && (albumImage == null)) {
- albumImage = image.getId();
- }
- images.put(image.getId(), image);
- imageIds.add(image.getId());
- return image;
- }
- };