OSDN Git Service

b733f58798b98f922eef1f4caf79897424086e69
[android-x86/packages-apps-Eleven.git] / src / com / cyanogenmod / eleven / lastfm / Image.java
1 /*
2  * Copyright (c) 2012, the Last.fm Java Project and Committers All rights
3  * reserved. Redistribution and use of this software in source and binary forms,
4  * with or without modification, are permitted provided that the following
5  * conditions are met: - Redistributions of source code must retain the above
6  * copyright notice, this list of conditions and the following disclaimer. -
7  * Redistributions in binary form must reproduce the above copyright notice,
8  * this list of conditions and the following disclaimer in the documentation
9  * and/or other materials provided with the distribution. THIS SOFTWARE IS
10  * PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
11  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
13  * EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
14  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
16  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
17  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
18  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20  */
21
22 package com.cyanogenmod.eleven.lastfm;
23
24 /**
25  * An <code>Image</code> contains metadata and URLs for an artist's image.
26  * Metadata contains title, votes, format and other. Images are available in
27  * various sizes, see {@link ImageSize} for all sizes.
28  * 
29  * @author Janni Kovacs
30  * @see ImageSize
31  * @see Artist#getImages(String, String)
32  */
33 public class Image extends ImageHolder {
34
35     final static ItemFactory<Image> FACTORY = new ImageFactory();
36
37     private String url;
38
39     private Image() {
40     }
41
42     public String getUrl() {
43         return url;
44     }
45
46     private static class ImageFactory implements ItemFactory<Image> {
47         @Override
48         public Image createItemFromElement(final DomElement element) {
49             final Image i = new Image();
50             i.url = element.getChildText("url");
51             loadImages(i, element);
52             return i;
53         }
54     }
55 }