All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.d0x7.utils.mongodb.MongoUtil Maven / Gradle / Ivy

The newest version!
package com.d0x7.utils.mongodb;

import org.bson.Document;
import org.bson.types.ObjectId;

/**
 * Copyright (c) 2015-2017 d0x7.com
 * 

* Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: *

* The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. *

* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ @Deprecated public class MongoUtil { @SuppressWarnings("unchecked") public static T as(Document document, String key, Class as, T defaultValue) { try { return !document.containsKey(key) ? defaultValue : (document.get(key).getClass().isAssignableFrom(as) ? (T) document.get(key) : defaultValue); } catch (Exception e) { e.printStackTrace(); return null; } } public static T as(Document document, String key, Class as) { return as(document, key, as, null); } public static String asString(Document document, String key) { return as(document, key, String.class); } public static String asString(Document document, String key, String defaultValue) { return as(document, key, String.class, defaultValue); } @SuppressWarnings("unchecked") public static > E asEnum(Document document, String key, Class as) { return Enum.valueOf(as, asString(document, key)); } @SuppressWarnings("unchecked") public static > E asEnum(Document document, String key, Class as, String defaultValue) { return Enum.valueOf(as, asString(document, key, defaultValue)); } @SuppressWarnings("unchecked") public static > E asEnum(Document document, String key, Class as, E defaultValue) { E result = Enum.valueOf(as, asString(document, key)); return result == null ? defaultValue : result; } public static Integer asInteger(Document document, String key) { return as(document, key, Integer.class); } public static Integer asInteger(Document document, String key, Integer defaultValue) { return as(document, key, Integer.class, defaultValue); } public static Long asLong(Document document, String key) { return as(document, key, Long.class); } public static Long asLong(Document document, String key, Long defaultValue) { return as(document, key, Long.class, defaultValue); } public static Double asDouble(Document document, String key) { return as(document, key, Double.class); } public static Double asDouble(Document document, String key, Double defaultValue) { return as(document, key, Double.class, defaultValue); } public static Boolean asBoolean(Document document, String key) { return as(document, key, Boolean.class); } public static Boolean asBoolean(Document document, String key, Boolean defaultValue) { return as(document, key, Boolean.class, defaultValue); } public static ObjectId asObjectId(Document document, String key) { return as(document, key, ObjectId.class); } public static ObjectId asObjectId(Document document, String key, ObjectId defaultValue) { return as(document, key, ObjectId.class, defaultValue); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy