All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.protostuff.generator.SimplePropertyProvider Maven / Gradle / Ivy

There is a newer version: 3.1.40
Show newest version
package io.protostuff.generator;

import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;

/**
 * @author Kostiantyn Shchepanovskyi
 */
public class SimplePropertyProvider implements PropertyProvider {

    private final Map> propertyProviders = new HashMap<>();

    @Override
    public boolean hasProperty(String propertyName) {
        return propertyProviders.containsKey(propertyName);
    }

    @Override
    public Object getProperty(ObjectT object, String propertyName) {
        Function provider = propertyProviders.get(propertyName);
        if (provider == null) {
            throw new IllegalArgumentException(propertyName);
        }
        return provider.apply(object);
    }

    @Override
    public void register(String property, Function function) {
        propertyProviders.put(property, function);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy