package com.googlecode.objectify.impl.save;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.Collection;
import com.googlecode.objectify.ObjectifyFactory;
/**
* <p>Knows how to save an embedded array.</p>
*
* @see EmbeddedMultivalueFieldSaver
*/
public class EmbeddedArrayFieldSaver extends EmbeddedMultivalueFieldSaver
{
/**
* @see EmbeddedMultivalueFieldSaver#EmbeddedMultivalueFieldSaver(ObjectifyFactory, String, Class, Field, boolean)
*/
public EmbeddedArrayFieldSaver(ObjectifyFactory fact, String pathPrefix, Class<?> examinedClass, Field field, boolean collectionize)
{
super(fact, pathPrefix, examinedClass, field, collectionize);
assert field.getType().isArray();
}
/* (non-Javadoc)
* @see com.googlecode.objectify.impl.save.EmbeddedIteratorFieldSaver#getComponentType()
*/
@Override
protected Class<?> getComponentType()
{
return this.field.getType().getComponentType();
}
/* (non-Javadoc)
* @see com.googlecode.objectify.impl.save.EmbeddedIteratorFieldSaver#asCollection(java.lang.Object)
*/
@Override
protected Collection<Object> asCollection(Object arrayOrCollection)
{
return Arrays.asList((Object[])arrayOrCollection);
}
}