package com.cedarsoft.serialization.generator.intellij;
import com.intellij.psi.PsiType;
import javax.annotation.Nonnull;
/**
* Resolver for serializers for a given type.
*
* @author Johannes Schneider (<a href="mailto:js@cedarsoft.com">js@cedarsoft.com</a>)
*/
public interface SerializerResolver {
/**
* Returns the serializer for a given type
*
* @param typeToSerialize the type serializer
* @return the serializer type
*/
@Nonnull
PsiType findSerializerFor( @Nonnull PsiType typeToSerialize );
/**
* Guesses the serializer name
*
* @param typeToSerialize the type to serialize
* @return the serializer name
*/
@Nonnull
String guessSerializerName( @Nonnull PsiType typeToSerialize );
}