Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
10 shop2020 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.core;
5
 
199 naveen 6
import java.util.ArrayList;
211 naveen 7
import java.util.HashMap;
199 naveen 8
import java.util.List;
211 naveen 9
import java.util.Map;
199 naveen 10
 
10 shop2020 11
import in.shop2020.metamodel.util.MetaModelComponent;
12
 
13
/**
45 naveen 14
 * Represents un-structured data about Slide, Feature and Bullet. It is used
15
 * judiciously by content developers to store multi-media content in support
16
 * component they are attached to.
10 shop2020 17
 * 
18
 * @author naveen
19
 *
20
 */
21
public class FreeformContent extends MetaModelComponent {
22
 
23
	/**
24
	 * 
25
	 */
26
	private static final long serialVersionUID = 1L;
27
 
199 naveen 28
	// Un-structured text only
29
	private List<String> freeformTexts;
10 shop2020 30
 
211 naveen 31
	private Map<String, List<String>> mediaRefs;
32
 
10 shop2020 33
    /**
34
     * 
35
     */
199 naveen 36
    public FreeformContent() {
10 shop2020 37
    }
38
 
39
    /**
40
     * 
199 naveen 41
     * @param freeformText
10 shop2020 42
     */
199 naveen 43
    public FreeformContent(String freeformText) {
44
    	this.addFreeformText(freeformText);
10 shop2020 45
    }
46
 
199 naveen 47
	/**
48
	 * @param freeformTexts the freeformTexts to set
49
	 */
50
	public void setFreeformTexts(List<String> freeformTexts) {
51
		this.freeformTexts = freeformTexts;
52
	}
53
 
54
	/**
55
	 * 
56
	 * @param fft
57
	 */
58
	public void addFreeformText(String fft) {
59
		if(this.freeformTexts == null) {
60
			this.freeformTexts = new ArrayList<String>();
61
		}
62
 
63
		this.freeformTexts.add(fft);
64
	}
65
 
66
	/**
67
	 * @return the freeformTexts
68
	 */
69
	public List<String> getFreeformTexts() {
70
		return freeformTexts;
71
	}
72
 
73
 
74
	/**
75
	 * Return first free-form text
76
	 * 
77
	 * @return the freeformTexts
78
	 */
79
	public String getFreeformText() {
80
		if(this.freeformTexts != null && this.freeformTexts.size() > 0) {
81
			return this.freeformTexts.get(0);
82
		}
83
 
84
		return null;
85
	}
211 naveen 86
 
199 naveen 87
	/**
211 naveen 88
	 * Convenience method to add new image Refs
89
	 * 
90
	 * @param imgURL
199 naveen 91
	 */
211 naveen 92
	public void addMedia(String type, String mediaRef) {
93
		if(this.mediaRefs == null) {
94
			this.mediaRefs = new HashMap<String, List<String>>();
95
		}
96
 
97
		List<String> typeRefs = this.mediaRefs.get(type);
98
		if(typeRefs == null) {
99
			typeRefs = new ArrayList<String>();
100
			this.mediaRefs.put(type, typeRefs);
101
		}
102
 
103
		typeRefs.add(mediaRef);
199 naveen 104
	}
105
 
211 naveen 106
 
199 naveen 107
	/**
211 naveen 108
	 * Convenience method to add new image Refs
199 naveen 109
	 * 
110
	 * @param imgURL
111
	 */
211 naveen 112
	public void setMedia(String type, List<String> mediaRefs) {
113
		if(this.mediaRefs == null) {
114
			this.mediaRefs = new HashMap<String, List<String>>();
199 naveen 115
		}
116
 
211 naveen 117
		this.mediaRefs.put(type, mediaRefs);
199 naveen 118
	}
119
 
120
	/**
211 naveen 121
	 * @return the imageRefs
199 naveen 122
	 */
211 naveen 123
	public List<String> getImageRefs() {
124
		if(this.mediaRefs != null) {
125
			return this.mediaRefs.get("image");
199 naveen 126
		}
127
 
211 naveen 128
		return null;
199 naveen 129
	}
130
 
131
	/**
132
	 * @return the youtubeURLs
133
	 */
211 naveen 134
	public List<String> getYoutubeRefs() {
135
		if(this.mediaRefs != null) {
136
			return this.mediaRefs.get("youtube");
137
		}
138
 
139
		return null;
199 naveen 140
	}
141
 
34 naveen 142
	/* (non-Javadoc)
143
	 * @see java.lang.Object#toString()
144
	 */
145
	@Override
146
	public String toString() {
199 naveen 147
		return "FreeformContent [freeformTexts=" + freeformTexts
211 naveen 148
				+ ", mediaRefs=" + mediaRefs + "]";
34 naveen 149
	}
150
 
10 shop2020 151
}