// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.builtin.buildertools.tooloperations.transform;

import javax.annotation.Nonnull;
import com.hypixel.hytale.math.vector.Vector3i;

public class Composite implements Transform
{
    private final Transform first;
    private final Transform second;
    
    private Composite(final Transform first, final Transform second) {
        this.first = first;
        this.second = second;
    }
    
    @Override
    public void apply(final Vector3i vector3i) {
        this.first.apply(vector3i);
        this.second.apply(vector3i);
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "Composite{first=" + String.valueOf(this.first) + ", second=" + String.valueOf(this.second);
    }
    
    public static Transform of(final Transform first, final Transform second) {
        if (first == Composite.NONE && second == Composite.NONE) {
            return Composite.NONE;
        }
        if (first == Composite.NONE) {
            return second;
        }
        if (second == Composite.NONE) {
            return first;
        }
        return new Composite(first, second);
    }
}
