1bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root/*
2bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * Copyright (C) 2006 The Android Open Source Project
3bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root *
4bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * Licensed under the Apache License, Version 2.0 (the "License");
5bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * you may not use this file except in compliance with the License.
6bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * You may obtain a copy of the License at
7bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root *
8bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root *      http://www.apache.org/licenses/LICENSE-2.0
9bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root *
10bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * Unless required by applicable law or agreed to in writing, software
11bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * distributed under the License is distributed on an "AS IS" BASIS,
12bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * See the License for the specific language governing permissions and
14bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root * limitations under the License.
15bd393b7f39a71a13893aea8b64474b0b07ebe0ddKenny Root */
16edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
17edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectimport java.io.BufferedReader;
18edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectimport java.util.HashMap;
19edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
20edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Projectpublic class ParameterChecker {
21edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
22edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project    HashMap<String,String[]> map = new HashMap<String,String[]>();
23edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
24edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project    public ParameterChecker(BufferedReader reader) throws Exception {
25edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        String s;
26edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        while ((s = reader.readLine()) != null) {
27edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project            String[] tokens = s.split("\\s");
28edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project            map.put(tokens[0], tokens);
29edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        }
30edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project    }
31edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project
32edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project    public String[] getChecks(String functionName) {
33edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        String[] checks = map.get(functionName);
34edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        if (checks == null &&
35edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project            (functionName.endsWith("fv") ||
36edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project             functionName.endsWith("xv") ||
37edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project             functionName.endsWith("iv"))) {
38edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project            functionName = functionName.substring(0, functionName.length() - 2);
39edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project            checks = map.get(functionName);
40edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        }
41edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project        return checks;
42edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project    }
43edbf3b6af777b721cd2a1ef461947e51e88241e1The Android Open Source Project}
44