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

net.alloyggp.escaperope.rope.ropify.ListRopeWeaver Maven / Gradle / Ivy

There is a newer version: 0.0.5
Show newest version
package net.alloyggp.escaperope.rope.ropify;

import net.alloyggp.escaperope.rope.Rope;

public abstract class ListRopeWeaver implements RopeWeaver {
    @Override
    public final Rope toRope(T object) {
        RopeBuilder list = RopeBuilder.create();
        addToList(object, list);
        return list.toRope();
    }

    protected abstract void addToList(T object, RopeBuilder list);

    @Override
    public final T fromRope(Rope rope) {
        if (!rope.isList()) {
            throw new IllegalArgumentException("Input must be a list-type Rope");
        }
        return fromRope(RopeList.create(rope));
    }

    protected abstract T fromRope(RopeList list);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy