001/* 002 * Copyright 2024 Vonage 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package com.vonage.client.insight; 017 018import com.fasterxml.jackson.annotation.JsonCreator; 019 020/** 021 * Enum representing the existence of a number. 022 * {@code UNKNOWN} means the number could not be validated. valid means the number is valid. 023 * {@code NOT_VALID} means the number is not valid. 024 * {@code INFERRED_NOT_VALID} means that the number could not be determined as valid or invalid 025 * via an external system and the best guess is that the number is invalid. 026 * This is applicable to mobile numbers only. 027 */ 028public enum Validity { 029 UNKNOWN, VALID, NOT_VALID, INFERRED, INFERRED_NOT_VALID; 030 031 @JsonCreator 032 public static Validity fromString(String name) { 033 try { 034 return Validity.valueOf(name.toUpperCase()); 035 } 036 catch (IllegalArgumentException ex) { 037 return UNKNOWN; 038 } 039 } 040 041 @Override 042 public String toString() { 043 return name().toLowerCase(); 044 } 045}