• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package perf;
2 
3 import java.io.IOException;
4 import java.io.StringWriter;
5 import java.util.*;
6 
7 import com.fasterxml.jackson.core.*;
8 
9 public class MediaItem
10 {
11     public enum Player { JAVA, FLASH;  }
12     public enum Size { SMALL, LARGE; }
13 
14     private List<Photo> _photos;
15     private Content _content;
16 
MediaItem()17     public MediaItem() { }
18 
MediaItem(Content c)19     public MediaItem(Content c)
20     {
21         _content = c;
22     }
23 
addPhoto(Photo p)24     public void addPhoto(Photo p) {
25         if (_photos == null) {
26             _photos = new ArrayList<Photo>();
27         }
28         _photos.add(p);
29     }
30 
getImages()31     public List<Photo> getImages() { return _photos; }
setImages(List<Photo> p)32     public void setImages(List<Photo> p) { _photos = p; }
33 
getContent()34     public Content getContent() { return _content; }
setContent(Content c)35     public void setContent(Content c) { _content = c; }
36 
asJsonString(JsonFactory f)37     public String asJsonString(JsonFactory f) throws IOException
38     {
39         StringWriter w = new StringWriter();
40         JsonGenerator gen = f.createGenerator(w);
41         write(gen);
42         gen.close();
43         w.close();
44         return w.toString();
45     }
46 
write(JsonGenerator gen)47     public void write(JsonGenerator gen) throws IOException
48     {
49         gen.writeStartObject();
50 
51         gen.writeFieldName("content");
52         if (_content == null) {
53             gen.writeNull();
54         } else {
55             _content.write(gen);
56         }
57         gen.writeFieldName("photos");
58         if (_photos == null) {
59             gen.writeNull();
60         } else {
61             gen.writeStartArray();
62             for (int i = 0, len = _photos.size(); i < len; ++i) {
63                 _photos.get(i).write(gen);
64             }
65             gen.writeEndArray();
66         }
67         gen.writeEndObject();
68     }
69 
70     /*
71     /**********************************************************
72     /* Helper types
73     /**********************************************************
74      */
75 
76     public static class Photo
77     {
78         private String _uri;
79         private String _title;
80         private int _width;
81         private int _height;
82         private Size _size;
83 
Photo()84         public Photo() {}
Photo(String uri, String title, int w, int h, Size s)85         public Photo(String uri, String title, int w, int h, Size s)
86         {
87           _uri = uri;
88           _title = title;
89           _width = w;
90           _height = h;
91           _size = s;
92         }
93 
getUri()94       public String getUri() { return _uri; }
getTitle()95       public String getTitle() { return _title; }
getWidth()96       public int getWidth() { return _width; }
getHeight()97       public int getHeight() { return _height; }
getSize()98       public Size getSize() { return _size; }
99 
setUri(String u)100       public void setUri(String u) { _uri = u; }
setTitle(String t)101       public void setTitle(String t) { _title = t; }
setWidth(int w)102       public void setWidth(int w) { _width = w; }
setHeight(int h)103       public void setHeight(int h) { _height = h; }
setSize(Size s)104       public void setSize(Size s) { _size = s; }
105 
write(JsonGenerator gen)106       public void write(JsonGenerator gen) throws IOException
107       {
108           gen.writeStartObject();
109           gen.writeStringField("uri", _uri);
110           gen.writeStringField("title", _title);
111           gen.writeNumberField("width", _width);
112           gen.writeNumberField("height", _height);
113           if (_size == null) {
114               gen.writeNullField("size");
115           } else {
116               gen.writeStringField("size", _size.name());
117           }
118           gen.writeEndObject();
119       }
120     }
121 
122     public static class Content
123     {
124         private String _uri;
125         private String _title;
126         private int _width;
127         private int _height;
128         private String _format;
129         private long _duration;
130         private long _size;
131         private int _bitrate;
132         private String _copyright;
133         private Player _player;
134 
135         private List<String> _persons;
136 
write(JsonGenerator gen)137         public void write(JsonGenerator gen) throws IOException
138         {
139             gen.writeStartObject();
140 
141             gen.writeStringField("uri", _uri);
142             gen.writeStringField("title", _title);
143 
144             gen.writeNumberField("width", _width);
145             gen.writeNumberField("height", _height);
146 
147             gen.writeStringField("format", _format);
148 
149             gen.writeNumberField("duration", _duration);
150             gen.writeNumberField("size", _size);
151             gen.writeNumberField("bitrate", _bitrate);
152             gen.writeStringField("copyright", _copyright);
153 
154             if (_player == null) {
155                 gen.writeNullField("player");
156             } else {
157                 gen.writeStringField("player", _player.name());
158             }
159 
160             gen.writeFieldName("photos");
161             if (_persons == null) {
162                 gen.writeNull();
163             } else {
164                 gen.writeStartArray();
165                 for (int i = 0, len = _persons.size(); i < len; ++i) {
166                     gen.writeString(_persons.get(i));
167                 }
168                 gen.writeEndArray();
169             }
170             gen.writeEndObject();
171         }
172 
Content()173         public Content() { }
174 
addPerson(String p)175         public void addPerson(String p) {
176             if (_persons == null) {
177                 _persons = new ArrayList<String>();
178             }
179             _persons.add(p);
180         }
181 
getPlayer()182         public Player getPlayer() { return _player; }
getUri()183         public String getUri() { return _uri; }
getTitle()184         public String getTitle() { return _title; }
getWidth()185         public int getWidth() { return _width; }
getHeight()186         public int getHeight() { return _height; }
getFormat()187         public String getFormat() { return _format; }
getDuration()188         public long getDuration() { return _duration; }
getSize()189         public long getSize() { return _size; }
getBitrate()190         public int getBitrate() { return _bitrate; }
getPersons()191         public List<String> getPersons() { return _persons; }
getCopyright()192         public String getCopyright() { return _copyright; }
193 
setPlayer(Player p)194         public void setPlayer(Player p) { _player = p; }
setUri(String u)195         public void setUri(String u) {  _uri = u; }
setTitle(String t)196         public void setTitle(String t) {  _title = t; }
setWidth(int w)197         public void setWidth(int w) {  _width = w; }
setHeight(int h)198         public void setHeight(int h) {  _height = h; }
setFormat(String f)199         public void setFormat(String f) {  _format = f;  }
setDuration(long d)200         public void setDuration(long d) {  _duration = d; }
setSize(long s)201         public void setSize(long s) {  _size = s; }
setBitrate(int b)202         public void setBitrate(int b) {  _bitrate = b; }
setPersons(List<String> p)203         public void setPersons(List<String> p) {  _persons = p; }
setCopyright(String c)204         public void setCopyright(String c) {  _copyright = c; }
205     }
206 }
207