1 /* 2 * Copyright (c) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #ifndef OHOS_GLOBAL_I18N_BORDER_RULE_H 16 #define OHOS_GLOBAL_I18N_BORDER_RULE_H 17 18 #include <unicode/regex.h> 19 #include "phonenumbers/phonenumbermatch.h" 20 21 namespace OHOS { 22 namespace Global { 23 namespace I18n { 24 using i18n::phonenumbers::PhoneNumberMatch; 25 26 class BorderRule { 27 public: 28 BorderRule(icu::UnicodeString& regex, std::string& insensitive, std::string& type); 29 int GetType(); 30 icu::RegexPattern* GetPattern(); 31 bool Handle(PhoneNumberMatch* match, icu::UnicodeString& message); 32 33 private: 34 int type; 35 icu::UnicodeString regex; 36 std::string insensitive; 37 static const std::string CONTAIN_STR; 38 static const std::string CONTAIN_OR_INTERSECT_STR; 39 static const std::string TRUE_STR; 40 }; 41 } // namespace I18n 42 } // namespace Global 43 } // namespace OHOS 44 #endif