// 
// Decompiled by Procyon v0.6.0
// 

package org.bson.codecs.jsr310;

import java.util.HashMap;
import org.bson.codecs.configuration.CodecRegistry;
import org.bson.codecs.Codec;
import java.util.Map;
import org.bson.codecs.configuration.CodecProvider;

public class Jsr310CodecProvider implements CodecProvider
{
    private static final Map<Class<?>, Codec<?>> JSR310_CODEC_MAP;
    
    private static void putCodec(final Codec<?> codec) {
        Jsr310CodecProvider.JSR310_CODEC_MAP.put(codec.getEncoderClass(), codec);
    }
    
    @Override
    public <T> Codec<T> get(final Class<T> clazz, final CodecRegistry registry) {
        return (Codec)Jsr310CodecProvider.JSR310_CODEC_MAP.get(clazz);
    }
    
    static {
        JSR310_CODEC_MAP = new HashMap<Class<?>, Codec<?>>();
        try {
            Class.forName("java.time.Instant");
            putCodec(new InstantCodec());
            putCodec(new LocalDateCodec());
            putCodec(new LocalDateTimeCodec());
            putCodec(new LocalTimeCodec());
        }
        catch (final ClassNotFoundException ex) {}
    }
}
