package org.implab.gradle.variants.sources;

import org.implab.gradle.variants.model.Layer;
import org.implab.gradle.variants.model.Variant;

/**
 * Logical usage of a layer inside a variant.
 * Identity: (variantName, layerName)
 */
public interface VariantLayerBinding {
    Variant getVariant();
    Layer getLayer();

    public static VariantLayerBinding of(Variant variant, Layer layer) {
        return new VariantLayerBinding() {
            @Override
            public Variant getVariant() {
                return variant;
            }

            @Override
            public Layer getLayer() {
                return layer;
            }
        };
    }
}