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

jnr.ffi.mapper.CompositeFunctionMapper Maven / Gradle / Ivy

There is a newer version: 2.2.16
Show newest version
package jnr.ffi.mapper;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

/**
 *
 */
public final class CompositeFunctionMapper implements FunctionMapper {
    private final Collection functionMappers;

    public CompositeFunctionMapper(Collection functionMappers) {
        this.functionMappers = Collections.unmodifiableList(new ArrayList(functionMappers));
    }

    @Override
    public String mapFunctionName(String functionName, Context context) {
        for (FunctionMapper functionMapper : functionMappers) {
            String mappedName = functionMapper.mapFunctionName(functionName, context);
            if (mappedName != functionName) {
                // A translation was explicit in this mapper.
                return mappedName;
            }
        }
        return functionName;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy