11b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin/* 21b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * Copyright (C) 2015 The Android Open Source Project 31b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * 41b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * Licensed under the Apache License, Version 2.0 (the "License"); 51b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * you may not use this file except in compliance with the License. 61b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * You may obtain a copy of the License at 71b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * 81b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * http://www.apache.org/licenses/LICENSE-2.0 91b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * 101b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * Unless required by applicable law or agreed to in writing, software 111b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * distributed under the License is distributed on an "AS IS" BASIS, 121b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * See the License for the specific language governing permissions and 141b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * limitations under the License. 151b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin */ 161b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin 171b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubinpackage android.security.keystore; 181b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin 191b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubinimport java.util.Date; 201b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin 211b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin/** 221b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * Assorted utility methods. 231b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * 241b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin * @hide 251b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin */ 261b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubinabstract class Utils { 271b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin private Utils() {} 281b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin 291b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin static Date cloneIfNotNull(Date value) { 301b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin return (value != null) ? (Date) value.clone() : null; 311b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin } 328d8c7477746c357d54f586fc92e8d422a4fc6441Shawn Willden 338d8c7477746c357d54f586fc92e8d422a4fc6441Shawn Willden static byte[] cloneIfNotNull(byte[] value) { 348d8c7477746c357d54f586fc92e8d422a4fc6441Shawn Willden return (value != null) ? value.clone() : null; 358d8c7477746c357d54f586fc92e8d422a4fc6441Shawn Willden } 361b937eebdd38a7bea9b86831370a78bcded4d63cAlex Klyubin} 37