
io.protostuff.generator.SimplePropertyProvider Maven / Gradle / Ivy
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