12621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com/* 22621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * Copyright (C) 2010 Google Inc. 32621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * 42621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * Licensed under the Apache License, Version 2.0 (the "License"); 52621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * you may not use this file except in compliance with the License. 62621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * You may obtain a copy of the License at 72621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * 82621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * http://www.apache.org/licenses/LICENSE-2.0 92621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * 102621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * Unless required by applicable law or agreed to in writing, software 112621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * distributed under the License is distributed on an "AS IS" BASIS, 122621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * See the License for the specific language governing permissions and 142621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * limitations under the License. 152621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com */ 162621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com 172621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.compackage com.android.i18n.addressinput; 182621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com 192621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.comimport java.util.Arrays; 202621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.comimport java.util.Collections; 212621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.comimport java.util.HashMap; 222621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.comimport java.util.List; 232621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.comimport java.util.Map; 242621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com 252621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com/** 262621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com * Loader for a map defining the standard checks to perform on AddressFields. 272621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com */ 282621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.compublic class StandardChecks { 292621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com 302c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com private StandardChecks() { 312c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com } 322621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com 332c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com public static final Map<AddressField, List<AddressProblemType>> PROBLEM_MAP; 342c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com 352c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com static { 362c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com Map<AddressField, List<AddressProblemType>> map = 372c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com new HashMap<AddressField, List<AddressProblemType>>(); 382c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com 392d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.COUNTRY, AddressProblemType.USING_UNUSED_FIELD, 402c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD, AddressProblemType.UNKNOWN_VALUE); 412d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.ADMIN_AREA, AddressProblemType.USING_UNUSED_FIELD, 422c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD, AddressProblemType.UNKNOWN_VALUE); 432d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.LOCALITY, AddressProblemType.USING_UNUSED_FIELD, 442c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD, AddressProblemType.UNKNOWN_VALUE); 452d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.DEPENDENT_LOCALITY, AddressProblemType.USING_UNUSED_FIELD, 462c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD, AddressProblemType.UNKNOWN_VALUE); 472d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.POSTAL_CODE, AddressProblemType.USING_UNUSED_FIELD, 482c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD, AddressProblemType.UNRECOGNIZED_FORMAT, 492c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISMATCHING_VALUE); 502d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.STREET_ADDRESS, AddressProblemType.USING_UNUSED_FIELD, 512c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD); 522d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.SORTING_CODE, AddressProblemType.USING_UNUSED_FIELD, 532c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD); 542d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.ORGANIZATION, AddressProblemType.USING_UNUSED_FIELD, 552c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD); 562d77bd892a00b3761360aff3c421cc76949b2630lararennie@google.com addToMap(map, AddressField.RECIPIENT, AddressProblemType.USING_UNUSED_FIELD, 572c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType.MISSING_REQUIRED_FIELD); 582c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com 592c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com PROBLEM_MAP = Collections.unmodifiableMap(map); 602c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com } 612c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com 622c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com private static void addToMap(Map<AddressField, List<AddressProblemType>> map, 632c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressField field, 642c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com AddressProblemType... problems) { 652c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com map.put(field, Collections.unmodifiableList(Arrays.asList(problems))); 662c25a6f4922225b619b0e389befde8b941e78834jeanine@google.com } 672621d3d889dcaeb23858c5386844531be4acddfdjeanine@google.com} 68