Move methods to move an image up and down to Image.
[Sone.git] / src / main / java / net / pterodactylus / sone / data / impl / DefaultImage.java
index 156eb81..26f6355 100644 (file)
@@ -50,6 +50,20 @@ public class DefaultImage extends AbstractImage {
        }
 
        @Override
+       public void moveUp() throws IllegalStateException {
+               int oldIndex = album.imageIds.indexOf(getId());
+               album.imageIds.remove(getId());
+               album.imageIds.add(Math.max(0, oldIndex - 1), getId());
+       }
+
+       @Override
+       public void moveDown() throws IllegalStateException {
+               int oldIndex = album.imageIds.indexOf(getId());
+               album.imageIds.remove(getId());
+               album.imageIds.add(Math.min(album.imageIds.size(), oldIndex + 1), getId());
+       }
+
+       @Override
        public void remove() throws IllegalStateException {
                synchronized (album) {
                        album.images.remove(getId());