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

org.lappsgrid.serialization.Utils.groovy Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
package org.lappsgrid.serialization

import org.lappsgrid.serialization.lif.Annotation
import org.lappsgrid.serialization.lif.Contains
import org.lappsgrid.serialization.lif.View

/**
 * @author Keith Suderman
 */
class Utils {
    static String deepCopy(String string) {
        return string
    }

    static Number deepCopy(Number number) {
        return number
    }

    static List deepCopy(List list) {
        List result = []
        list.each { result.add(deepCopy(it)) }
        return result
    }

    static Set deepCopy(Set set) {
        Set result = new HashSet()
        set.each  { result.add(deepCopy(it)) }
        return result
    }

    static Map deepCopy(Map map) {
        Map result = [:]
        map.each { key,value ->
            result[key] = deepCopy(value)
        }
        return result
    }

    static Annotation deepCopy(Annotation annotation) {
        return new Annotation(annotation)
    }

    static Contains deepCopy(Contains contains) {
        return new Contains(contains)
    }

    static View deepCopy(View view) {
        return new View(view)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy