Guava Preconditions

DomainPrecondition

Domain Logic 에 대한 사전 조건(precondition)을 검사하는 책임을 가진 객체를 만들 수 있다.

import static com.google.common.base.Preconditions.*

object PaymentPrecondition {
    fun checkNull(id: Long?) {
        checkNotNull(id, "$id is Null")
    }
    
    fun checkProvider(provider: PaymentProvider) {
        checkState(PaymentProvider.KAKAO == provider, "Not supported provider")
    }
}