public class ClassTranslator<P> extends NullSafeTranslator<P,com.google.appengine.api.datastore.PropertyContainer>
Some common code for Translators which know how to convert a POJO type into a PropertiesContainer. This might be polymorphic; we get polymorphism when @Subclasses are registered on this translator.
Modifier and Type | Field and Description |
---|---|
static String |
DISCRIMINATOR_INDEX_PROPERTY
Name of the list property which will hold all indexed discriminator values
|
static String |
DISCRIMINATOR_PROPERTY
Name of the out-of-band discriminator property in a PropertyContainer
|
Constructor and Description |
---|
ClassTranslator(Class<P> declaredClass,
Path path,
Creator<P> creator,
Populator<P> populator) |
Modifier and Type | Method and Description |
---|---|
Creator<P> |
getCreator()
Get the creator associated with this class.
|
Class<P> |
getDeclaredClass() |
String |
getDiscriminator() |
Populator<P> |
getPopulator()
Get the populator associated with this class.
|
P |
loadSafe(com.google.appengine.api.datastore.PropertyContainer container,
LoadContext ctx,
Path path)
Implement this, returning a proper translated value
|
void |
registerSubclass(ClassTranslator<? extends P> translator)
Register a subclass translator with this class translator.
|
com.google.appengine.api.datastore.PropertyContainer |
saveSafe(P pojo,
boolean index,
SaveContext ctx,
Path path)
Implement this, returning a proper translated value
|
load, save
public static final String DISCRIMINATOR_PROPERTY
public static final String DISCRIMINATOR_INDEX_PROPERTY
public String getDiscriminator()
public P loadSafe(com.google.appengine.api.datastore.PropertyContainer container, LoadContext ctx, Path path) throws SkipException
NullSafeTranslator
loadSafe
in class NullSafeTranslator<P,com.google.appengine.api.datastore.PropertyContainer>
container
- will never be nullSkipException
public com.google.appengine.api.datastore.PropertyContainer saveSafe(P pojo, boolean index, SaveContext ctx, Path path) throws SkipException
NullSafeTranslator
saveSafe
in class NullSafeTranslator<P,com.google.appengine.api.datastore.PropertyContainer>
pojo
- will never be nullSkipException
public void registerSubclass(ClassTranslator<? extends P> translator)
Copyright © 2016. All rights reserved.