mirror of
https://github.com/Suwayomi/Tachidesk.git
synced 2026-01-21 19:22:42 +01:00
android support! thanks to TachiWeb devs.
This commit is contained in:
116
AndroidCompat/src/main/java/org/json/JSON.java
Normal file
116
AndroidCompat/src/main/java/org/json/JSON.java
Normal file
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
* Copyright (C) 2010 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.json;
|
||||
|
||||
class JSON {
|
||||
/**
|
||||
* Returns the input if it is a JSON-permissible value; throws otherwise.
|
||||
*/
|
||||
static double checkDouble(double d) throws JSONException {
|
||||
if (Double.isInfinite(d) || Double.isNaN(d)) {
|
||||
throw new JSONException("Forbidden numeric value: " + d);
|
||||
}
|
||||
return d;
|
||||
}
|
||||
|
||||
static Boolean toBoolean(Object value) {
|
||||
if (value instanceof Boolean) {
|
||||
return (Boolean) value;
|
||||
} else if (value instanceof String) {
|
||||
String stringValue = (String) value;
|
||||
if ("true".equalsIgnoreCase(stringValue)) {
|
||||
return true;
|
||||
} else if ("false".equalsIgnoreCase(stringValue)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static Double toDouble(Object value) {
|
||||
if (value instanceof Double) {
|
||||
return (Double) value;
|
||||
} else if (value instanceof Number) {
|
||||
return ((Number) value).doubleValue();
|
||||
} else if (value instanceof String) {
|
||||
try {
|
||||
return Double.valueOf((String) value);
|
||||
} catch (NumberFormatException ignored) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static Integer toInteger(Object value) {
|
||||
if (value instanceof Integer) {
|
||||
return (Integer) value;
|
||||
} else if (value instanceof Number) {
|
||||
return ((Number) value).intValue();
|
||||
} else if (value instanceof String) {
|
||||
try {
|
||||
return (int) Double.parseDouble((String) value);
|
||||
} catch (NumberFormatException ignored) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static Long toLong(Object value) {
|
||||
if (value instanceof Long) {
|
||||
return (Long) value;
|
||||
} else if (value instanceof Number) {
|
||||
return ((Number) value).longValue();
|
||||
} else if (value instanceof String) {
|
||||
try {
|
||||
return (long) Double.parseDouble((String) value);
|
||||
} catch (NumberFormatException ignored) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static String toString(Object value) {
|
||||
if (value instanceof String) {
|
||||
return (String) value;
|
||||
} else if (value != null) {
|
||||
return String.valueOf(value);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static JSONException typeMismatch(Object indexOrName, Object actual,
|
||||
String requiredType) throws JSONException {
|
||||
if (actual == null) {
|
||||
throw new JSONException("Value at " + indexOrName + " is null.");
|
||||
} else {
|
||||
throw new JSONException("Value " + actual + " at " + indexOrName
|
||||
+ " of type " + actual.getClass().getName()
|
||||
+ " cannot be converted to " + requiredType);
|
||||
}
|
||||
}
|
||||
|
||||
public static JSONException typeMismatch(Object actual, String requiredType)
|
||||
throws JSONException {
|
||||
if (actual == null) {
|
||||
throw new JSONException("Value is null.");
|
||||
} else {
|
||||
throw new JSONException("Value " + actual
|
||||
+ " of type " + actual.getClass().getName()
|
||||
+ " cannot be converted to " + requiredType);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user