| /* |
| * Copyright (C) 2017 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package android.app.timezone; |
| |
| /** |
| * Shared code for android.app.timezone classes. |
| */ |
| final class Utils { |
| private Utils() {} |
| |
| static int validateVersion(String type, int version) { |
| if (version < 0 || version > 999) { |
| throw new IllegalArgumentException("Invalid " + type + " version=" + version); |
| } |
| return version; |
| } |
| |
| static String validateRulesVersion(String type, String rulesVersion) { |
| validateNotNull(type, rulesVersion); |
| |
| if (rulesVersion.isEmpty()) { |
| throw new IllegalArgumentException(type + " must not be empty"); |
| } |
| return rulesVersion; |
| } |
| |
| /** Validates that {@code object} is not null. Always returns {@code object}. */ |
| static <T> T validateNotNull(String type, T object) { |
| if (object == null) { |
| throw new NullPointerException(type + " == null"); |
| } |
| return object; |
| } |
| |
| /** |
| * If {@code requireNotNull} is {@code true} calls {@link #validateNotNull(String, Object)}, |
| * and {@link #validateNull(String, Object)} otherwise. Returns {@code object}. |
| */ |
| static <T> T validateConditionalNull(boolean requireNotNull, String type, T object) { |
| if (requireNotNull) { |
| return validateNotNull(type, object); |
| } else { |
| return validateNull(type, object); |
| } |
| } |
| |
| /** Validates that {@code object} is null. Always returns null. */ |
| static <T> T validateNull(String type, T object) { |
| if (object != null) { |
| throw new IllegalArgumentException(type + " != null"); |
| } |
| return null; |
| } |
| } |