1 package com.atlassian.plugins.rest.test;
2
3 import com.atlassian.plugins.rest.common.expand.Expandable;
4 import com.atlassian.plugins.rest.common.expand.entity.ListWrapper;
5 import com.atlassian.plugins.rest.common.expand.entity.ListWrapperCallback;
6 import com.google.common.base.Preconditions;
7
8 import static javax.xml.bind.annotation.XmlAccessType.*;
9 import javax.xml.bind.annotation.XmlAccessorType;
10 import javax.xml.bind.annotation.XmlAttribute;
11 import javax.xml.bind.annotation.XmlElement;
12 import javax.xml.bind.annotation.XmlRootElement;
13 import javax.xml.bind.annotation.XmlTransient;
14 import java.util.List;
15
16 @XmlRootElement
17 @XmlAccessorType(FIELD)
18 public class FavouriteDrinks implements ListWrapper<FavouriteDrink>
19 {
20 @XmlAttribute
21 private String expand;
22
23 @XmlAttribute
24 private int size;
25
26 @XmlElement(name = "drink")
27 @Expandable
28 private List<FavouriteDrink> favouriteDrinks;
29
30 @XmlTransient
31 private final ListWrapperCallback<FavouriteDrink> callback;
32
33 @SuppressWarnings("unused")
34 private FavouriteDrinks()
35 {
36 this.size = 0;
37 callback = null;
38 }
39
40 public FavouriteDrinks(int size, ListWrapperCallback<FavouriteDrink> callback)
41 {
42 this.size = size;
43 this.callback = Preconditions.checkNotNull(callback);
44 }
45
46 public int getSize()
47 {
48 return size;
49 }
50
51 public List<FavouriteDrink> getFavouriteDrinks()
52 {
53 return favouriteDrinks;
54 }
55
56 public void setFavouriteDrinks(List<FavouriteDrink> favouriteDrinks)
57 {
58 this.favouriteDrinks = favouriteDrinks;
59 }
60
61 public ListWrapperCallback<FavouriteDrink> getCallback()
62 {
63 return callback;
64 }
65 }