forked from gooddata/gooddata-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAbstractObj.java
More file actions
193 lines (155 loc) · 4.33 KB
/
Copy pathAbstractObj.java
File metadata and controls
193 lines (155 loc) · 4.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
/*
* Copyright (C) 2004-2017, GoodData(R) Corporation. All rights reserved.
* This source code is licensed under the BSD-style license found in the
* LICENSE.txt file in the root directory of this source tree.
*/
package com.gooddata.md;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.gooddata.util.GoodDataToStringBuilder;
import org.joda.time.DateTime;
import java.io.Serializable;
import java.util.Set;
import static com.gooddata.util.Validate.noNullElements;
/**
* Metadata object (common part)
*/
public abstract class AbstractObj implements Serializable {
private static final long serialVersionUID = 2910760851810495274L;
@JsonProperty("meta")
protected final Meta meta;
protected AbstractObj(@JsonProperty("meta") Meta meta) {
this.meta = meta;
}
/**
* Returns internally generated ID of the object (that's part of the object URI).
*
* @return internal ID of the object
*/
@JsonIgnore
public String getId() {
return Obj.OBJ_TEMPLATE.match(getUri()).get("objId");
}
@JsonIgnore
public String getAuthor() {
return meta.getAuthor();
}
@JsonIgnore
public String getContributor() {
return meta.getContributor();
}
@JsonIgnore
public DateTime getCreated() {
return meta.getCreated();
}
@JsonIgnore
public String getSummary() {
return meta.getSummary();
}
public void setSummary(String summary) {
meta.setSummary(summary);
}
@JsonIgnore
public String getTitle() {
return meta.getTitle();
}
public void setTitle(String title) {
meta.setTitle(title);
}
@JsonIgnore
public DateTime getUpdated() {
return meta.getUpdated();
}
@JsonIgnore
public String getCategory() {
return meta.getCategory();
}
public void setCategory(String category) {
meta.setCategory(category);
}
@JsonIgnore
public Set<String> getTags() {
return meta.getTags();
}
public void setTags(Set<String> tags) {
meta.setTags(tags);
}
@JsonIgnore
public String getUri() {
return meta.getUri();
}
@JsonIgnore
public boolean isDeprecated() {
return Boolean.TRUE.equals(meta.isDeprecated());
}
public void setDeprecated(Boolean deprecated) {
meta.setDeprecated(deprecated);
}
/**
* Returns user-specified identifier of the object.
*
* @return user-specified object identifier
*/
@JsonIgnore
public String getIdentifier() {
return meta.getIdentifier();
}
public void setIdentifier(String identifier) {
meta.setIdentifier(identifier);
}
@JsonIgnore
public boolean isLocked() {
return Boolean.TRUE.equals(meta.isLocked());
}
public void setLocked(Boolean locked) {
meta.setLocked(locked);
}
@JsonIgnore
public boolean isUnlisted() {
return Boolean.TRUE.equals(meta.isUnlisted());
}
public void setUnlisted(Boolean unlisted) {
meta.setUnlisted(unlisted);
}
@JsonIgnore
public boolean isProduction() {
return Boolean.TRUE.equals(meta.isProduction());
}
public void setProduction(Boolean production) {
meta.setProduction(production);
}
@JsonIgnore
public boolean isSharedWithSomeone() {
return Boolean.TRUE.equals(meta.isSharedWithSomeone());
}
public void setSharedWithSomeone(Boolean sharedWithSomeone) {
meta.setSharedWithSomeone(sharedWithSomeone);
}
@JsonIgnore
public Set<String> getFlags() {
return meta.getFlags();
}
public void setFlags(final Set<String> flags) {
meta.setFlags(flags);
}
/**
* Get list of URIs of the given {@link Obj}s
*
* @param objs metadata objects
* @param <T> Obj type
* @return list of URIs
*/
@SafeVarargs
protected static <T extends Obj> String[] uris(T... objs) {
noNullElements(objs, "objs");
final String[] uris = new String[objs.length];
for (int i = 0; i < objs.length; i++) {
uris[i] = objs[i].getUri();
}
return uris;
}
@Override
public String toString() {
return GoodDataToStringBuilder.defaultToString(this);
}
}