package org.osgl.util;
import org.osgl.Osgl;
import org.osgl.exception.NotAppliedException;
import java.util.List;
import java.util.Map;
public class SimpleObjectFactory extends Osgl.F1<Class<?>, Object> {
public static final SimpleObjectFactory INSTANCE = new SimpleObjectFactory();
@Override
public Object apply(Class<?> aClass) throws NotAppliedException, Osgl.Break {
if (List.class.isAssignableFrom(aClass)) {
return C.newList();
} else if (Map.class.isAssignableFrom(aClass)) {
return C.newMap();
}
return Osgl.newInstance(aClass);
}
}