package org.apereo.cas.services.convert;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.mongodb.DBObject;
import org.apache.commons.logging.Log;
import org.apereo.services.persondir.IPersonAttributes;
import org.slf4j.Logger;
import org.springframework.core.convert.converter.Converter;
import java.lang.ref.ReferenceQueue;
import java.security.cert.CertPath;
/**
* Collection of mongo converters that map objects to
* DB objects. Able to exclude types.
* @author Misagh Moayyed
* @since 4.1
*/
public abstract class BaseConverters {
/**
* Instantiates a new BaseConverters.
*/
private BaseConverters() {}
/**
* The type Null converter.
* @param <I> the type parameter
* @param <O> the type parameter
*/
public static class NullConverter<I, O> implements Converter<I, O> {
@Override
public O convert(final I i) {
return null;
}
}
/**
* The type Logger converter.
*/
public static class LoggerConverter extends NullConverter<Logger, DBObject> {
}
/**
* The type Class converter.
* @since 4.1
*/
public static class ClassConverter extends NullConverter<Class, DBObject> {
}
/**
* The type Commons log converter.
* @since 4.1
*/
public static class CommonsLogConverter extends NullConverter<Log, DBObject> {
}
/**
* The type Person attributes converter.
* @since 4.1
*/
public static class PersonAttributesConverter extends NullConverter<IPersonAttributes, DBObject> {
}
/**
* The type Cache loader converter.
* @since 4.1
*/
public static class CacheLoaderConverter
extends NullConverter<CacheLoader, DBObject> {
}
/**
* The type Cache converter.
* @since 4.1
*/
public static class CacheConverter
extends NullConverter<Cache, DBObject> {
}
/**
* The type Cache builder converter.
* @since 4.1
*/
public static class CacheBuilderConverter
extends NullConverter<CacheBuilder, DBObject> {
}
/**
* The type Runnable converter.
* @since 4.1
*/
public static class RunnableConverter
extends NullConverter<Runnable, DBObject> {
}
/**
* The type Reference queue converter.
* @since 4.1
*/
public static class ReferenceQueueConverter
extends NullConverter<ReferenceQueue, DBObject> {
}
/**
* The type Thread local converter.
* @since 4.1
*/
public static class ThreadLocalConverter
extends NullConverter<ThreadLocal, DBObject> {
}
/**
* The type Cert path converter.
* @since 4.1
*/
public static class CertPathConverter
extends NullConverter<CertPath, DBObject> {
}
}