summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt
blob: 952595bec808a9348669f27df5587f8ffb3f50cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package io.dico.parcels2.util

import io.dico.parcels2.logger
import java.io.File

fun File.tryCreate(): Boolean {
    val parent = parentFile
    if (parent == null || !(parent.exists() || parent.mkdirs()) || !createNewFile()) {
        logger.warn("Failed to create file ${canonicalPath}")
        return false
    }
    return true
}

inline fun <R> Any.synchronized(block: () -> R): R {
    return synchronized(this, block)
}