test_class.declarator: converter
test_class.modifier: private
test_class.original_string: private ObjectToJsonConverter converter;
test_class.type: ObjectToJsonConverter
test_class.var_name: converter
test_class.file: agent/core/src/test/java/org/jolokia/converter/json/ObjectToJsonConverterTest.java
test_class.identifier: ObjectToJsonConverterTest
test_case.body: @Test
      public void checkDeadLockDetection() throws AttributeNotFoundException {
          Map result = (Map) converter.extractObject(new SelfRefBean1(), new Stack<String>(), true);
          assertNotNull("Bean 2 is set",result.get("bean2"));
          assertNotNull("Bean2:Bean1 is set",((Map)result.get("bean2")).get("bean1"));
          assertEquals("Reference breackage",((Map)result.get("bean2")).get("bean1").getClass(),String.class);
          assertTrue("Bean 3 should be resolved",result.get("bean3") instanceof Map);
      }
test_case.class_method_signature: ObjectToJsonConverterTest.checkDeadLockDetection()
test_case.full_signature: @Test public void checkDeadLockDetection()
test_case.identifier: checkDeadLockDetection
test_case.invocations: extractObject assertNotNull get assertNotNull get get assertEquals getClass get get assertTrue get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void checkDeadLockDetection()
focal_class.declarator: handlers
focal_class.modifier: private
focal_class.original_string: private List<Extractor> handlers;
focal_class.type: List<Extractor>
focal_class.var_name: handlers
focal_class.declarator: arrayExtractor
focal_class.modifier: private
focal_class.original_string: private ArrayExtractor arrayExtractor;
focal_class.type: ArrayExtractor
focal_class.var_name: arrayExtractor
focal_class.declarator: stackContextLocal = new ThreadLocal<ObjectSerializationContext>()
focal_class.modifier: private
focal_class.original_string: private ThreadLocal<ObjectSerializationContext> stackContextLocal = new ThreadLocal<ObjectSerializationContext>();
focal_class.type: ThreadLocal<ObjectSerializationContext>
focal_class.var_name: stackContextLocal
focal_class.declarator: stringToObjectConverter
focal_class.modifier: private
focal_class.original_string: private StringToObjectConverter stringToObjectConverter;
focal_class.type: StringToObjectConverter
focal_class.var_name: stringToObjectConverter
focal_class.declarator: SIMPLIFIERS_DEFAULT_DEF = "META-INF/simplifiers-default"
focal_class.modifier: private static final
focal_class.original_string: private static final String SIMPLIFIERS_DEFAULT_DEF = "META-INF/simplifiers-default";
focal_class.type: String
focal_class.var_name: SIMPLIFIERS_DEFAULT_DEF
focal_class.declarator: SIMPLIFIERS_DEF         = "META-INF/simplifiers"
focal_class.modifier: private static final
focal_class.original_string: private static final String SIMPLIFIERS_DEF         = "META-INF/simplifiers";
focal_class.type: String
focal_class.var_name: SIMPLIFIERS_DEF
focal_class.file: agent/core/src/main/java/org/jolokia/converter/json/ObjectToJsonConverter.java
focal_class.identifier: ObjectToJsonConverter
focal_class.class_method_signature: ObjectToJsonConverter.ObjectToJsonConverter(StringToObjectConverter pStringToObjectConverter,
                                   Extractor... pSimplifyHandlers)
focal_class.full_signature: public  ObjectToJsonConverter(StringToObjectConverter pStringToObjectConverter,
                                   Extractor... pSimplifyHandlers)
focal_class.identifier: ObjectToJsonConverter
focal_class.modifiers: public
focal_class.parameters: (StringToObjectConverter pStringToObjectConverter,
                                   Extractor... pSimplifyHandlers)
focal_class.signature:  ObjectToJsonConverter(StringToObjectConverter pStringToObjectConverter,
                                   Extractor... pSimplifyHandlers)
focal_class.class_method_signature: ObjectToJsonConverter.convertToJson(Object pValue, List<String> pPathParts, JsonConvertOptions pOptions)
focal_class.full_signature: public Object convertToJson(Object pValue, List<String> pPathParts, JsonConvertOptions pOptions)
focal_class.identifier: convertToJson
focal_class.modifiers: public
focal_class.parameters: (Object pValue, List<String> pPathParts, JsonConvertOptions pOptions)
focal_class.return: Object
focal_class.signature: Object convertToJson(Object pValue, List<String> pPathParts, JsonConvertOptions pOptions)
focal_class.class_method_signature: ObjectToJsonConverter.setInnerValue(Object pOuterObject, Object pNewValue, List<String> pPathParts)
focal_class.full_signature: public Object setInnerValue(Object pOuterObject, Object pNewValue, List<String> pPathParts)
focal_class.identifier: setInnerValue
focal_class.modifiers: public
focal_class.parameters: (Object pOuterObject, Object pNewValue, List<String> pPathParts)
focal_class.return: Object
focal_class.signature: Object setInnerValue(Object pOuterObject, Object pNewValue, List<String> pPathParts)
focal_class.class_method_signature: ObjectToJsonConverter.extractObject(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.full_signature: public Object extractObject(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.identifier: extractObject
focal_class.modifiers: public
focal_class.parameters: (Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.return: Object
focal_class.signature: Object extractObject(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.class_method_signature: ObjectToJsonConverter.extractObjectWithContext(Object pValue, Stack<String> pExtraArgs, JsonConvertOptions pOpts, boolean pJsonify)
focal_class.full_signature: private Object extractObjectWithContext(Object pValue, Stack<String> pExtraArgs, JsonConvertOptions pOpts, boolean pJsonify)
focal_class.identifier: extractObjectWithContext
focal_class.modifiers: private
focal_class.parameters: (Object pValue, Stack<String> pExtraArgs, JsonConvertOptions pOpts, boolean pJsonify)
focal_class.return: Object
focal_class.signature: Object extractObjectWithContext(Object pValue, Stack<String> pExtraArgs, JsonConvertOptions pOpts, boolean pJsonify)
focal_class.class_method_signature: ObjectToJsonConverter.setObjectValue(Object pInner, String pAttribute, Object pValue)
focal_class.full_signature: private Object setObjectValue(Object pInner, String pAttribute, Object pValue)
focal_class.identifier: setObjectValue
focal_class.modifiers: private
focal_class.parameters: (Object pInner, String pAttribute, Object pValue)
focal_class.return: Object
focal_class.signature: Object setObjectValue(Object pInner, String pAttribute, Object pValue)
focal_class.class_method_signature: ObjectToJsonConverter.getCollectionLength(int originalLength)
focal_class.full_signature:  int getCollectionLength(int originalLength)
focal_class.identifier: getCollectionLength
focal_class.parameters: (int originalLength)
focal_class.return: int
focal_class.signature: int getCollectionLength(int originalLength)
focal_class.class_method_signature: ObjectToJsonConverter.getValueFaultHandler()
focal_class.full_signature: public ValueFaultHandler getValueFaultHandler()
focal_class.identifier: getValueFaultHandler
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ValueFaultHandler
focal_class.signature: ValueFaultHandler getValueFaultHandler()
focal_class.class_method_signature: ObjectToJsonConverter.clearContext()
focal_class.full_signature:  void clearContext()
focal_class.identifier: clearContext
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clearContext()
focal_class.class_method_signature: ObjectToJsonConverter.setupContext()
focal_class.full_signature:  void setupContext()
focal_class.identifier: setupContext
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void setupContext()
focal_class.class_method_signature: ObjectToJsonConverter.setupContext(JsonConvertOptions pOpts)
focal_class.full_signature:  void setupContext(JsonConvertOptions pOpts)
focal_class.identifier: setupContext
focal_class.parameters: (JsonConvertOptions pOpts)
focal_class.return: void
focal_class.signature: void setupContext(JsonConvertOptions pOpts)
focal_class.class_method_signature: ObjectToJsonConverter.getExtractor(Class pClazz)
focal_class.full_signature: private Extractor getExtractor(Class pClazz)
focal_class.identifier: getExtractor
focal_class.modifiers: private
focal_class.parameters: (Class pClazz)
focal_class.return: Extractor
focal_class.signature: Extractor getExtractor(Class pClazz)
focal_class.class_method_signature: ObjectToJsonConverter.checkForLimits(Object pValue, ObjectSerializationContext pStackContext)
focal_class.full_signature: private String checkForLimits(Object pValue, ObjectSerializationContext pStackContext)
focal_class.identifier: checkForLimits
focal_class.modifiers: private
focal_class.parameters: (Object pValue, ObjectSerializationContext pStackContext)
focal_class.return: String
focal_class.signature: String checkForLimits(Object pValue, ObjectSerializationContext pStackContext)
focal_class.class_method_signature: ObjectToJsonConverter.callHandler(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.full_signature: private Object callHandler(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.identifier: callHandler
focal_class.modifiers: private
focal_class.parameters: (Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.return: Object
focal_class.signature: Object callHandler(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_class.class_method_signature: ObjectToJsonConverter.getStackContextLocal()
focal_class.full_signature:  ThreadLocal<ObjectSerializationContext> getStackContextLocal()
focal_class.identifier: getStackContextLocal
focal_class.parameters: ()
focal_class.return: ThreadLocal<ObjectSerializationContext>
focal_class.signature: ThreadLocal<ObjectSerializationContext> getStackContextLocal()
focal_class.class_method_signature: ObjectToJsonConverter.addSimplifiers(List<Extractor> pHandlers, Extractor[] pSimplifyHandlers)
focal_class.full_signature: private void addSimplifiers(List<Extractor> pHandlers, Extractor[] pSimplifyHandlers)
focal_class.identifier: addSimplifiers
focal_class.modifiers: private
focal_class.parameters: (List<Extractor> pHandlers, Extractor[] pSimplifyHandlers)
focal_class.return: void
focal_class.signature: void addSimplifiers(List<Extractor> pHandlers, Extractor[] pSimplifyHandlers)
focal_method.body: public Object extractObject(Object pValue, Stack<String> pPathParts, boolean pJsonify)
              throws AttributeNotFoundException {
          ObjectSerializationContext stackContext = stackContextLocal.get();
          String limitReached = checkForLimits(pValue, stackContext);
          Stack<String> pathStack = pPathParts != null ? pPathParts : new Stack<String>();
          if (limitReached != null) {
              return limitReached;
          }
          try {
              stackContext.push(pValue);
  
              if (pValue == null) {
                  return pathStack.isEmpty() ?
                          null :
                          stackContext.getValueFaultHandler().handleException(
                                  new AttributeNotFoundException("Cannot apply a path to an null value"));
              }
  
              if (pValue.getClass().isArray()) {
                  // Special handling for arrays
                  return arrayExtractor.extractObject(this,pValue,pathStack,pJsonify);
              }
              return callHandler(pValue, pathStack, pJsonify);
          } finally {
              stackContext.pop();
          }
      }
focal_method.class_method_signature: ObjectToJsonConverter.extractObject(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_method.full_signature: public Object extractObject(Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_method.identifier: extractObject
focal_method.invocations: get checkForLimits push isEmpty handleException getValueFaultHandler isArray getClass extractObject callHandler pop
focal_method.modifiers: public
focal_method.parameters: (Object pValue, Stack<String> pPathParts, boolean pJsonify)
focal_method.return: Object
focal_method.signature: Object extractObject(Object pValue, Stack<String> pPathParts, boolean pJsonify)