Skip to content

Commit c0f18a3

Browse files
committed
some refactoring, update documentation and strcutured query work in
progress
1 parent 61b8cc3 commit c0f18a3

18 files changed

Lines changed: 515 additions & 244 deletions

.settings/org.eclipse.jdt.core.prefs

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,94 @@
22
<<<<<<<=HEAD
33
>>>>>>>=ef72daa81c73f99e2156f5bfe8127591fc6358e9
44
eclipse.preferences.version=1
5+
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
6+
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
7+
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
8+
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
9+
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
10+
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
511
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
612
org.eclipse.jdt.core.compiler.compliance=1.7
13+
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
14+
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
15+
org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
16+
org.eclipse.jdt.core.compiler.problem.deadCode=warning
17+
org.eclipse.jdt.core.compiler.problem.deprecation=warning
18+
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
19+
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
20+
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
21+
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
22+
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
23+
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
24+
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
25+
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
26+
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
27+
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
728
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
29+
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
30+
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
31+
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
32+
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
33+
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
34+
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
35+
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
36+
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning
37+
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
38+
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
39+
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
40+
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
41+
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
42+
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
43+
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
44+
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
45+
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
46+
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
47+
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
48+
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
49+
org.eclipse.jdt.core.compiler.problem.nullReference=warning
50+
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
51+
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
52+
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
53+
org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
54+
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
55+
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
56+
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
57+
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
58+
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
59+
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
60+
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
61+
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
62+
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
63+
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
64+
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
65+
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
66+
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
67+
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
68+
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
69+
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
70+
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
71+
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
72+
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
73+
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
74+
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
75+
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
76+
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
77+
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
78+
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
79+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
80+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
81+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
82+
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
83+
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
84+
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
85+
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
86+
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
87+
org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
88+
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
89+
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
90+
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
91+
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
92+
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
93+
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
94+
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
895
org.eclipse.jdt.core.compiler.source=1.7

src/main/java/com/google/gcloud/datastore/BaseEntity.java

Lines changed: 53 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import java.util.Set;
1212

1313
/**
14-
* A base class for entities.
14+
* A base class for entities to hold the properties.
1515
*/
1616
abstract class BaseEntity extends Serializable<DatastoreV1.Entity> {
1717

@@ -36,72 +36,78 @@ protected B self() {
3636
return (B) this;
3737
}
3838

39-
public B clearProperties() {
39+
/**
40+
* Clears all the properties.
41+
*/
42+
public B clear() {
4043
properties.clear();
4144
return self();
4245
}
4346

44-
public B removeProperty(String name) {
47+
/**
48+
* Removes a property with the given {@code name}.
49+
*/
50+
public B remove(String name) {
4551
properties.remove(name);
4652
return self();
4753
}
4854

49-
public B setProperty(String name, Value<?> value) {
55+
public B set(String name, Value<?> value) {
5056
properties.put(name, value);
5157
return self();
5258
}
5359

54-
public B setNullProperty(String name) {
60+
public B setNull(String name) {
5561
properties.put(name, new NullValue());
5662
return self();
5763
}
5864

59-
public B setStringProperty(String name, String value) {
65+
public B set(String name, String value) {
6066
properties.put(name, new StringValue(value));
6167
return self();
6268
}
6369

64-
public B setLongProperty(String name, long value) {
70+
public B set(String name, long value) {
6571
properties.put(name, new LongValue(value));
6672
return self();
6773
}
6874

69-
public B setDoubleProperty(String name, double value) {
75+
public B set(String name, double value) {
7076
properties.put(name, new DoubleValue(value));
7177
return self();
7278
}
7379

74-
public B setBooleanProperty(String name, boolean value) {
80+
public B set(String name, boolean value) {
7581
properties.put(name, new BooleanValue(value));
7682
return self();
7783
}
7884

79-
public B setDateTimeProperty(String name, DateTime value) {
85+
public B set(String name, DateTime value) {
8086
properties.put(name, new DateTimeValue(value));
8187
return self();
8288
}
8389

84-
public B setKeyProperty(String name, Key value) {
90+
public B set(String name, Key value) {
8591
properties.put(name, new KeyValue(value));
8692
return self();
8793
}
8894

89-
public B setEntityProperty(String name, PartialEntity value) {
95+
public B set(String name, PartialEntity value) {
9096
properties.put(name, new EntityValue(value));
9197
return self();
9298
}
9399

94-
public B setListProperty(String name, List<? extends Value<?>> values) {
100+
public B set(String name, List<? extends Value<?>> values) {
95101
properties.put(name, new ListValue(values));
96102
return self();
97103
}
98104

99-
public B setListProperty(String name, Value<?>... value) {
105+
public B set(String name, Value<?>... value) {
100106
properties.put(name, new ListValue(Arrays.asList(value)));
101107
return self();
102108
}
103109

104-
public B setBlobProperty(String name, Blob value) {
110+
public B set(String name, Blob value) {
105111
properties.put(name, new BlobValue(value));
106112
return self();
107113
}
@@ -118,18 +124,18 @@ protected BaseEntity(ImmutableSortedMap<String, Value<?>> properties) {
118124
}
119125

120126
/**
121-
* Returns {@code true} if there is such property with the given {@code name}.
127+
* Returns {@code true} if the entity contains a property with the given {@code name}.
122128
*/
123-
public boolean hasProperty(String name) {
129+
public boolean contains(String name) {
124130
return properties.containsKey(name);
125131
}
126132

127133
/**
128-
* Returns the {@link Value} of property with the given {@code name}.
134+
* Returns the {@link Value} for the given property {@code name}.
129135
*
130136
* @throws DatastoreServiceException if not such property.
131137
*/
132-
public <V extends Value<?>> V property(String name) {
138+
public <V extends Value<?>> V getValue(String name) {
133139
@SuppressWarnings("unchecked")
134140
V property = (V) properties.get(name);
135141
if (property == null) {
@@ -138,63 +144,66 @@ public <V extends Value<?>> V property(String name) {
138144
return property;
139145
}
140146

141-
public Type propertyType(String name) {
142-
return property(name).type();
147+
public Type type(String name) {
148+
return getValue(name).type();
143149
}
144150

145-
public boolean isNullProperty(String name) {
146-
return property(name) instanceof NullValue;
151+
public boolean isNull(String name) {
152+
return getValue(name) instanceof NullValue;
147153
}
148154

149-
public String stringProperty(String name) {
150-
return ((StringValue) property(name)).get();
155+
public String getString(String name) {
156+
return ((StringValue) getValue(name)).get();
151157
}
152158

153-
public long longProperty(String name) {
154-
return ((LongValue) property(name)).get();
159+
public long getLong(String name) {
160+
return ((LongValue) getValue(name)).get();
155161
}
156162

157-
public double doubleProperty(String name) {
158-
return ((DoubleValue) property(name)).get();
163+
public double getDouble(String name) {
164+
return ((DoubleValue) getValue(name)).get();
159165
}
160166

161-
public boolean booleanProperty(String name) {
162-
return ((BooleanValue) property(name)).get();
167+
public boolean getBoolean(String name) {
168+
return ((BooleanValue) getValue(name)).get();
163169
}
164170

165-
public DateTime dateTimeProperty(String name) {
166-
return ((DateTimeValue) property(name)).get();
171+
public DateTime getDateTime(String name) {
172+
return ((DateTimeValue) getValue(name)).get();
167173
}
168174

169-
public Key keyProperty(String name) {
170-
return ((KeyValue) property(name)).get();
175+
public Key getKey(String name) {
176+
return ((KeyValue) getValue(name)).get();
171177
}
172178

173179
@SuppressWarnings("unchecked")
174-
public <T extends PartialEntity> T entityProperty(String name) {
175-
return (T) ((EntityValue) property(name)).get();
180+
public <T extends PartialEntity> T getEntity(String name) {
181+
return (T) ((EntityValue) getValue(name)).get();
176182
}
177183

178-
public List<? extends Value<?>> listProperty(String name) {
179-
return ((ListValue) property(name)).get();
184+
public List<? extends Value<?>> getList(String name) {
185+
return ((ListValue) getValue(name)).get();
180186
}
181187

182-
public Blob blobProperty(String name) {
183-
return ((BlobValue) property(name)).get();
188+
public Blob getBlob(String name) {
189+
return ((BlobValue) getValue(name)).get();
184190
}
185191

186192
/**
187193
* Returns the property's value as a {@link RawValue}.
188194
*/
189-
public RawValue asRawValueProperty(String name) {
190-
Value<?> value = property(name);
195+
public RawValue asRawValue(String name) {
196+
Value<?> value = getValue(name);
191197
if (value instanceof RawValue) {
192198
return (RawValue) value;
193199
}
194200
return new RawValue(value.toPb());
195201
}
196202

197-
public Set<String> propertyNames() {
203+
/**
204+
* Returns the properties name.
205+
*/
206+
public Set<String> names() {
198207
return properties.keySet();
199208
}
200209

src/main/java/com/google/gcloud/datastore/BatchWriter.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@
44
* An interface to represent a batch of write operations.
55
* Any write operation that is applied on a batch will only be sent
66
* to the Datastore upon {@link #submit} and with as few RPC calls as possible.
7+
* A usage example:
8+
* <pre> {@code
9+
* Entity entity1 = datastore.get(key1);
10+
* BatchWriter batchWriter = datastore.newBatchWriter();
11+
* Entity entity2 = Entity.builder(key2).set("name", "John").build();
12+
* entity1 = Entity.builder(entity1).clear().setNull("bla").build();
13+
* Entity entity3 = Entity.builder(key3).set("title", new StringValue("title")).build();
14+
* batchWriter.update(entity1);
15+
* batchWriter.add(entity2, entity3);
16+
* batchWriter.submit();
17+
* } </pre>
718
*/
819
public interface BatchWriter extends DatastoreWriter {
920

@@ -27,4 +38,9 @@ public interface BatchWriter extends DatastoreWriter {
2738
* @throws DatastoreServiceException if there was any failure.
2839
*/
2940
void submit();
41+
42+
/**
43+
* Returns {@code true} if batch is still active (was not submitted).
44+
*/
45+
boolean active();
3046
}

0 commit comments

Comments
 (0)