package com.revolsys.io.map; import java.util.Map; import java.util.function.Function; public class FunctionMapObjectFactory extends AbstractMapObjectFactory { private final Function<Map<String, ? extends Object>, Object> function; public FunctionMapObjectFactory(final String typeName, final String description, final Function<Map<String, ? extends Object>, Object> function) { super(typeName, description); this.function = function; } @SuppressWarnings("unchecked") @Override public <V> V mapToObject(final Map<String, ? extends Object> properties) { return (V)this.function.apply(properties); } }