/src/main/java/com/billybyte/mongo/BasicObject.java

https://github.com/bgithub1/mongo-helper · Java · 92 lines · 73 code · 14 blank · 5 comment · 1 complexity · e9168c32d0f6abcfd50365974b8d1692 MD5 · raw file

  1. package com.billybyte.mongo;
  2. import java.lang.reflect.Field;
  3. import java.util.Map;
  4. import java.util.Set;
  5. import org.bson.BSONObject;
  6. import com.billybyte.commonstaticmethods.CollectionsStaticMethods;
  7. import com.billybyte.commonstaticmethods.Reflection;
  8. import com.mongodb.DBObject;
  9. public class BasicObject implements DBObject{
  10. private String key;
  11. private Object parent;
  12. public BasicObject(String key, Object parent) {
  13. super();
  14. this.key = key.replace(".", "__");
  15. this.parent = parent;
  16. }
  17. @Override
  18. public boolean containsField(String arg0) {
  19. try {
  20. Field f = parent.getClass().getField(arg0);
  21. if(f!=null)return true;
  22. } catch (SecurityException e) {
  23. e.printStackTrace();
  24. } catch (NoSuchFieldException e) {
  25. }
  26. return false;
  27. }
  28. public String convertKey(){
  29. return key.replace("__", ".");
  30. }
  31. @Override
  32. @Deprecated
  33. public boolean containsKey(String arg0) {
  34. return (arg0.compareTo(key)==0)?true:false;
  35. }
  36. @Override
  37. public Object get(String arg0) {
  38. return Reflection.getFieldByFieldName(parent, arg0, null);
  39. }
  40. @Override
  41. public Set<String> keySet() {
  42. return CollectionsStaticMethods.setFromArray(new String[]{key});
  43. }
  44. @Override
  45. public Object put(String arg0, Object arg1) {
  46. return arg1;
  47. }
  48. @Override
  49. public void putAll(BSONObject arg0) {
  50. // TODO Auto-generated method stub
  51. }
  52. @Override
  53. public void putAll(Map arg0) {
  54. // TODO Auto-generated method stub
  55. }
  56. @Override
  57. public Object removeField(String arg0) {
  58. // TODO Auto-generated method stub
  59. return null;
  60. }
  61. @Override
  62. public Map toMap() {
  63. return CollectionsStaticMethods.mapInitFromArray(new String[]{key}, new Object[]{parent});
  64. }
  65. @Override
  66. public boolean isPartialObject() {
  67. // TODO Auto-generated method stub
  68. return false;
  69. }
  70. @Override
  71. public void markAsPartialObject() {
  72. // TODO Auto-generated method stub
  73. }
  74. @Override
  75. public String toString() {
  76. return convertKey()+","+parent.toString();
  77. }
  78. }