|
@@ -116,11 +116,13 @@ |
116 |
116 |
|
return true; |
117 |
117 |
|
} |
118 |
118 |
|
|
|
119 |
+ |
@Override |
119 |
120 |
|
public void LLset( MetaDataStore pMetaDataStore ) |
120 |
121 |
|
{ |
121 |
122 |
|
mMetaDataStore = pMetaDataStore; |
122 |
123 |
|
} |
123 |
124 |
|
|
|
125 |
+ |
@Override |
124 |
126 |
|
public MetaDataStore getMetaDataStore() |
125 |
127 |
|
{ |
126 |
128 |
|
return mMetaDataStore; |
|
@@ -202,11 +204,13 @@ |
202 |
204 |
|
return null; |
203 |
205 |
|
} |
204 |
206 |
|
|
|
207 |
+ |
@Override |
205 |
208 |
|
public final Integer getPrimaryKeyPersistingAccessorSCDsIndex() |
206 |
209 |
|
{ |
207 |
210 |
|
return mPrimaryKeyPersistingAccessorSCDsIndex; |
208 |
211 |
|
} |
209 |
212 |
|
|
|
213 |
+ |
@Override |
210 |
214 |
|
public Index[] getIndexes() |
211 |
215 |
|
{ |
212 |
216 |
|
return mIndexes; |
|
@@ -217,6 +221,7 @@ |
217 |
221 |
|
mIndexes = pIndexes; |
218 |
222 |
|
} |
219 |
223 |
|
|
|
224 |
+ |
@Override |
220 |
225 |
|
public T createNew( Map<String, ?> pInitialAttributeNameValues, Transaction pTransaction ) |
221 |
226 |
|
{ |
222 |
227 |
|
T po = createNew( pTransaction ); |
|
@@ -230,6 +235,7 @@ |
230 |
235 |
|
return po; |
231 |
236 |
|
} |
232 |
237 |
|
|
|
238 |
+ |
@Override |
233 |
239 |
|
public T createPO( Finder pFinder, Object[] pRow ) |
234 |
240 |
|
{ |
235 |
241 |
|
AttributeAccessorSCD[] paCDs = getPersistingAccessorSCDs(); |
|
@@ -249,118 +255,141 @@ |
249 |
255 |
|
return PersistentObjectImpl.BackDoor.rehydrationComplete( po, pFinder ); |
250 |
256 |
|
} |
251 |
257 |
|
|
|
258 |
+ |
@Override |
252 |
259 |
|
public final String getIdentifierName() |
253 |
260 |
|
{ |
254 |
261 |
|
return mIdentifierName; |
255 |
262 |
|
} |
256 |
263 |
|
|
|
264 |
+ |
@Override |
257 |
265 |
|
public final String getTableName() |
258 |
266 |
|
{ |
259 |
267 |
|
return mTableName; |
260 |
268 |
|
} |
261 |
269 |
|
|
|
270 |
+ |
@Override |
262 |
271 |
|
public boolean isReferencePO() |
263 |
272 |
|
{ |
264 |
273 |
|
return false; |
265 |
274 |
|
} |
266 |
275 |
|
|
|
276 |
+ |
@Override |
267 |
277 |
|
public boolean isORMetaDataMutating() |
268 |
278 |
|
{ |
269 |
279 |
|
Class zPOclass = getPOclass(); |
270 |
280 |
|
return ORMetaDataMutating.class.isAssignableFrom( zPOclass ); |
271 |
281 |
|
} |
272 |
282 |
|
|
|
283 |
+ |
@Override |
273 |
284 |
|
public boolean isImportable() |
274 |
285 |
|
{ |
275 |
286 |
|
Class zPOclass = getPOclass(); |
276 |
287 |
|
return !NonImportableFeature.class.isAssignableFrom( zPOclass ); // Note the '!' (not) |
277 |
288 |
|
} |
278 |
289 |
|
|
|
290 |
+ |
@Override |
279 |
291 |
|
public final boolean isPotentiallyImmortallyInActive() |
280 |
292 |
|
{ |
281 |
293 |
|
return !getMortality().equals( Mortality.Mortal ); // Force NPE if not implemented correctly! |
282 |
294 |
|
} |
283 |
295 |
|
|
|
296 |
+ |
@Override |
284 |
297 |
|
public Mortality getMortality() |
285 |
298 |
|
{ |
286 |
299 |
|
return Mortality.Mortal; |
287 |
300 |
|
} |
288 |
301 |
|
|
|
302 |
+ |
@Override |
289 |
303 |
|
public String getImmortalInactiveAttributeName() |
290 |
304 |
|
{ |
291 |
305 |
|
return null; |
292 |
306 |
|
} |
293 |
307 |
|
|
|
308 |
+ |
@Override |
294 |
309 |
|
public String getInstanceImmortalImmortalAttributeName() |
295 |
310 |
|
{ |
296 |
311 |
|
return null; |
297 |
312 |
|
} |
298 |
313 |
|
|
|
314 |
+ |
@Override |
299 |
315 |
|
public boolean isUpdatable() |
300 |
316 |
|
{ |
301 |
317 |
|
return true; |
302 |
318 |
|
} |
303 |
319 |
|
|
|
320 |
+ |
@Override |
304 |
321 |
|
public String getInstanceManagedUpdatabilityLockedAttributeName() |
305 |
322 |
|
{ |
306 |
323 |
|
return null; |
307 |
324 |
|
} |
308 |
325 |
|
|
|
326 |
+ |
@Override |
309 |
327 |
|
public boolean isCreationTimestampable() |
310 |
328 |
|
{ |
311 |
329 |
|
return getCreationTimestampAttributeName() != null; |
312 |
330 |
|
} |
313 |
331 |
|
|
|
332 |
+ |
@Override |
314 |
333 |
|
public String getCreationTimestampAttributeName() |
315 |
334 |
|
{ |
316 |
335 |
|
return null; |
317 |
336 |
|
} |
318 |
337 |
|
|
|
338 |
+ |
@Override |
319 |
339 |
|
public final boolean isTransactionTimestampable() |
320 |
340 |
|
{ |
321 |
341 |
|
return getTransactionTimestampAttributeName() != null; |
322 |
342 |
|
} |
323 |
343 |
|
|
|
344 |
+ |
@Override |
324 |
345 |
|
public String getTransactionTimestampAttributeName() |
325 |
346 |
|
{ |
326 |
347 |
|
return null; |
327 |
348 |
|
} |
328 |
349 |
|
|
|
350 |
+ |
@Override |
329 |
351 |
|
public final boolean isRecordVersionable() |
330 |
352 |
|
{ |
331 |
353 |
|
return getRecordVersionAttributeName() != null; |
332 |
354 |
|
} |
333 |
355 |
|
|
|
356 |
+ |
@Override |
334 |
357 |
|
public String getRecordVersionAttributeName() |
335 |
358 |
|
{ |
336 |
359 |
|
return null; |
337 |
360 |
|
} |
338 |
361 |
|
|
|
362 |
+ |
@Override |
339 |
363 |
|
public final boolean isSnagable() |
340 |
364 |
|
{ |
341 |
365 |
|
return getSnagAttributeName() != null; |
342 |
366 |
|
} |
343 |
367 |
|
|
|
368 |
+ |
@Override |
344 |
369 |
|
public String getSnagAttributeName() |
345 |
370 |
|
{ |
346 |
371 |
|
return null; |
347 |
372 |
|
} |
348 |
373 |
|
|
|
374 |
+ |
@Override |
349 |
375 |
|
public String getDefaultAscendingSortAttributeName() |
350 |
376 |
|
{ |
351 |
377 |
|
return null; |
352 |
378 |
|
} |
353 |
379 |
|
|
|
380 |
+ |
@Override |
354 |
381 |
|
public String getPOregistrationName() |
355 |
382 |
|
{ |
356 |
383 |
|
return getPOclass().getName(); |
357 |
384 |
|
} |
358 |
385 |
|
|
|
386 |
+ |
@Override |
359 |
387 |
|
public AttributeAccessorKeySet getKeySet() |
360 |
388 |
|
{ |
361 |
389 |
|
return mKeySet; |
362 |
390 |
|
} |
363 |
391 |
|
|
|
392 |
+ |
@Override |
364 |
393 |
|
public final AttributeAccessorSCD getAccessorSCDrequired( String pAttributeName ) |
365 |
394 |
|
{ |
366 |
395 |
|
AttributeAccessorSCD scd = getAccessorSCDoptional( pAttributeName ); |
|
@@ -371,16 +400,19 @@ |
371 |
400 |
|
throw new NoSuchElementException( "'" + pAttributeName + "' on PO type: " + getIdentifierName() ); |
372 |
401 |
|
} |
373 |
402 |
|
|
|
403 |
+ |
@Override |
374 |
404 |
|
public final AttributeAccessorSCD getAccessorSCDoptional( String pAttributeName ) |
375 |
405 |
|
{ |
376 |
406 |
|
return mAccessorSCDsByName.get( makeCaseInsensitive( pAttributeName ) ); |
377 |
407 |
|
} |
378 |
408 |
|
|
|
409 |
+ |
@Override |
379 |
410 |
|
public final boolean hasAttribute( String pAttributeName ) |
380 |
411 |
|
{ |
381 |
412 |
|
return getAccessorSCDoptional( pAttributeName ) != null; |
382 |
413 |
|
} |
383 |
414 |
|
|
|
415 |
+ |
@Override |
384 |
416 |
|
public String[] getAttributeNames() |
385 |
417 |
|
{ |
386 |
418 |
|
AttributeAccessorSCD[] zSCDs = getAccessorSCDs(); |
|
@@ -392,27 +424,32 @@ |
392 |
424 |
|
return rv; |
393 |
425 |
|
} |
394 |
426 |
|
|
|
427 |
+ |
@Override |
395 |
428 |
|
public final AttributeAccessorSCD[] getAccessorSCDs() |
396 |
429 |
|
{ |
397 |
430 |
|
return mAccessorSCDs; |
398 |
431 |
|
} |
399 |
432 |
|
|
|
433 |
+ |
@Override |
400 |
434 |
|
public final AttributeAccessorSCD[] getPersistingAccessorSCDs() |
401 |
435 |
|
{ |
402 |
436 |
|
return mPersistingAccessorSCDs; |
403 |
437 |
|
} |
404 |
438 |
|
|
|
439 |
+ |
@Override |
405 |
440 |
|
public final AbstractAttributeAccessorSCDtoOne[] getToOneAccessorSCDsThatFlagPeerChange() |
406 |
441 |
|
{ |
407 |
442 |
|
return mToOneAccessorSCDsThatFlagPeerChange; |
408 |
443 |
|
} |
409 |
444 |
|
|
|
445 |
+ |
@Override |
410 |
446 |
|
public final AbstractAttributeAccessorSCDtoOne[] getToOneAccessorSCDsThatFlagPeerChangeNotification() |
411 |
447 |
|
{ |
412 |
448 |
|
return mToOneAccessorSCDsThatFlagPeerChangeNotification; |
413 |
449 |
|
} |
414 |
450 |
|
|
415 |
451 |
|
@SuppressWarnings({"unchecked"}) |
|
452 |
+ |
@Override |
416 |
453 |
|
public final PersistentObjectUniqueKey createUniqueKeyFrom( String pKeyToString ) |
417 |
454 |
|
throws IllegalArgumentException |
418 |
455 |
|
{ |
|
@@ -425,6 +462,7 @@ |
425 |
462 |
|
new UniqueKeyMulti( pKeyToString, zAASCDs ); |
426 |
463 |
|
} |
427 |
464 |
|
|
|
465 |
+ |
@Override |
428 |
466 |
|
public void setCommitTimestamps( T pPersistentObject, Timestamp pTransactionTimeStamp ) |
429 |
467 |
|
{ |
430 |
468 |
|
if ( pPersistentObject.isNew() && isCreationTimestampable() ) |
|
@@ -437,11 +475,13 @@ |
437 |
475 |
|
} |
438 |
476 |
|
} |
439 |
477 |
|
|
|
478 |
+ |
@Override |
440 |
479 |
|
public final int compareTo( MetaDataForPO pThem ) |
441 |
480 |
|
{ |
442 |
481 |
|
return this.getTableName().compareTo( pThem.getTableName() ); |
443 |
482 |
|
} |
444 |
483 |
|
|
|
484 |
+ |
@Override |
445 |
485 |
|
public String toString() |
446 |
486 |
|
{ |
447 |
487 |
|
return "MetaData for " + getPOregistrationName(); |