12611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar/*
22611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * Copyright (C) 2015 The Android Open Source Project
32611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar *
42611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * Licensed under the Apache License, Version 2.0 (the "License");
52611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * you may not use this file except in compliance with the License.
62611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * You may obtain a copy of the License at
72611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar *
82611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar *      http://www.apache.org/licenses/LICENSE-2.0
92611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar *
102611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * Unless required by applicable law or agreed to in writing, software
112611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * distributed under the License is distributed on an "AS IS" BASIS,
122611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
132611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * See the License for the specific language governing permissions and
142611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * limitations under the License.
152611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar */
162611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar
172611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyarpackage android.databinding.tool.util;
182611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar
192611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar/**
202611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar * Simple Preconditions utility class, similar to guava's but reports errors via L
212611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar */
222611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyarpublic class Preconditions {
232611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar    public static void check(boolean value, String error, Object... args) {
242611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar        if (!value) {
252611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar            L.e(error, args);
262611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar        }
272611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar    }
282611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar
292611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar    public static void checkNotNull(Object value, String error, Object... args) {
302611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar        if (value == null) {
312611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar            L.e(error, args);
322611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar        }
332611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar    }
344df4ba38a62b791bbbc25e923efe8d9c2f9a52e9Yigit Boyar
354df4ba38a62b791bbbc25e923efe8d9c2f9a52e9Yigit Boyar    public static void checkNull(Object value, String error, Object... args) {
364df4ba38a62b791bbbc25e923efe8d9c2f9a52e9Yigit Boyar        if (value != null) {
374df4ba38a62b791bbbc25e923efe8d9c2f9a52e9Yigit Boyar            L.e(error, args);
384df4ba38a62b791bbbc25e923efe8d9c2f9a52e9Yigit Boyar        }
394df4ba38a62b791bbbc25e923efe8d9c2f9a52e9Yigit Boyar    }
402611838bffef5a009ca71e3e9e59a93f29b098edYigit Boyar}
41