in lightning-core/src/main/java/org/apache/directmemory/lightning/internal/InternalMarshallerStrategy.java [111:147]
public Marshaller getMarshaller( Type type, MarshallerContext marshallerContext, boolean baseMarshallersOnly )
{
Class<?> rawType = TypeUtil.getBaseType( type );
if ( Streamed.class.isAssignableFrom( rawType ) )
{
return streamedMarshaller;
}
if ( !baseMarshallersOnly && Externalizable.class.isAssignableFrom( rawType ) )
{
return externalizableMarshaller;
}
if ( marshallerContext != null )
{
Marshaller marshaller = marshallerContext.getMarshaller( type );
if ( marshaller != null )
{
return marshaller;
}
}
for ( Marshaller temp : baseMarshaller )
{
if ( temp.acceptType( rawType ) )
{
return temp;
}
}
if ( !baseMarshallersOnly && Serializable.class.isAssignableFrom( rawType ) && !rawType.isArray() )
{
return serializableMarshaller;
}
return null;
}