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

com.github.sviperll.ConfigurableIsomorphism Maven / Gradle / Ivy

/*
 * Copyright 2013 Victor Nazarov .
 */
package com.github.sviperll;

/**
 *
 * @author Victor Nazarov 
 */
public class ConfigurableIsomorphism implements Isomorphism {
    private final Isomorphism isomorphism;
    public ConfigurableIsomorphism(Isomorphism isomorphism) {
        this.isomorphism = isomorphism;
    }

    @Override
    public U forward(T object) {
        return isomorphism.forward(object);
    }

    @Override
    public T backward(U object) {
        return isomorphism.backward(object);
    }

    public  ConfigurableIsomorphism composeWith(Isomorphism thatIsomorphism) {
        return Isomorphisms.compose(this.isomorphism, thatIsomorphism);
    }

    public ConfigurableIsomorphism reversed() {
        return Isomorphisms.reversed(isomorphism);
    }

    public ConfigurableIsomorphism passNullThrough() {
        return Isomorphisms.passNullThrough(isomorphism);
    }

    public ConfigurableIsomorphism throwOnNull() {
        return Isomorphisms.throwOnNull(isomorphism);
    }

    public ConfigurableFunction asForwardFunction() {
        return Isomorphisms.asForwardFunction(isomorphism);
    }

    public ConfigurableFunction asBackwardFunction() {
        return Isomorphisms.asBackwardFunction(isomorphism);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy