package ecologylab.serialization.deserializers.pullhandlers.stringformats;
import java.io.File;
import ecologylab.net.ParsedURL;
import ecologylab.serialization.ClassDescriptor;
import ecologylab.serialization.DeserializationHookStrategy;
import ecologylab.serialization.FieldDescriptor;
import ecologylab.serialization.SIMPLTranslationException;
import ecologylab.serialization.ScalarUnmarshallingContext;
import ecologylab.serialization.SimplTypesScope;
import ecologylab.serialization.TranslationContext;
import ecologylab.serialization.deserializers.pullhandlers.PullDeserializer;
public abstract class StringPullDeserializer extends PullDeserializer
{
public StringPullDeserializer(SimplTypesScope translationScope,
TranslationContext translationContext)
{
super(translationScope, translationContext);
}
/**
* Constructs that creates a deserialization handler
*
* @param translationScope
* translation scope to use for de/serializing subsequent char sequences
* @param translationContext
* used for graph handling
*/
public StringPullDeserializer(SimplTypesScope translationScope,
TranslationContext translationContext, DeserializationHookStrategy deserializationHookStrategy)
{
super(translationScope, translationContext, deserializationHookStrategy);
}
public abstract Object parse(CharSequence charSequence) throws SIMPLTranslationException;
protected void SetAllScalarFieldsToDefault(Object context, ClassDescriptor<?> cd, ScalarUnmarshallingContext scalarContext)
{
for(FieldDescriptor fd: cd.allFieldDescriptors())
{
if(fd.isScalar())
{
fd.setFieldToScalarDefault(context, scalarContext);
}
}
}
}