fluid-api/src/main/java/com/fluidbpm/program/api/util/cache/CacheUtil.java
@SuppressWarnings("unchecked")
	private CachedFieldValue getCacheFieldValueFromObject(Object objWithKeyParam)
	{
		if(objWithKeyParam == null)
		{
			return null;
		}

		//Get Word...
		Method methodGetWord = CacheUtil.getMethod(
				objWithKeyParam.getClass(),
				CustomCode.IWord.METHOD_getWord);

		//Get Value...
		Method methodGetValue = CacheUtil.getMethod(
				objWithKeyParam.getClass(),
				CustomCode.ADataType.METHOD_getValue);

		//Word...
		Object getWordObj = CacheUtil.invoke(methodGetWord, objWithKeyParam);
		String getWordVal = null;
		if(getWordObj instanceof String)
		{
			getWordVal = (String)getWordObj;
		}

		//Value...
		Object getValueObj;
		if(FlowJobType.MULTIPLE_CHOICE.equals(getWordVal))
		{
			MultiChoice multiChoice = new MultiChoice();

			//Available Choices...
			Method methodAvailableChoices = getMethod(
					objWithKeyParam.getClass(),
					CustomCode.MultipleChoice.METHOD_getAvailableChoices);

			Object availChoicesObj =
					CacheUtil.invoke(methodAvailableChoices, objWithKeyParam);

			if(availChoicesObj instanceof List)
			{
				multiChoice.setAvailableMultiChoices((List)availChoicesObj);
			}

			//Selected...
			Method methodSelectedChoices = getMethod(
					objWithKeyParam.getClass(),
					CustomCode.MultipleChoice.METHOD_getSelectedChoices);

			Object selectedChoicesObj =
					invoke(methodSelectedChoices, objWithKeyParam);

			if(selectedChoicesObj instanceof List)
			{
				multiChoice.setSelectedMultiChoices((List)selectedChoicesObj);
			}

			getValueObj = multiChoice;
		}
		else
		{
			getValueObj = CacheUtil.invoke(methodGetValue, objWithKeyParam);
		}

		if(getValueObj == null)
		{
			return null;
		}

		if(getWordVal == null)
		{
			throw new FluidCacheException(
					"Get Word value is 'null'. Not allowed.");
		}

		CachedFieldValue returnVal = new CachedFieldValue();

		returnVal.dataType = getWordVal;
		returnVal.cachedFieldValue = getValueObj;

		return returnVal;
	}
@SuppressWarnings("unchecked")
	private CachedFieldValue getCacheFieldValueFromObject(Object objWithKeyParam)
	{
		if(objWithKeyParam == null)
		{
			return null;
		}

		//Get Word...
		Method methodGetWord = CacheUtil.getMethod(
				objWithKeyParam.getClass(),
				CustomCode.IWord.METHOD_getWord);

		//Get Value...
		Method methodGetValue = CacheUtil.getMethod(
				objWithKeyParam.getClass(),
				CustomCode.ADataType.METHOD_getValue);

		//Word...
		Object getWordObj = CacheUtil.invoke(methodGetWord, objWithKeyParam);
		String getWordVal = null;
		if(getWordObj instanceof String)
		{
			getWordVal = (String)getWordObj;
		}

		//Value...
		Object getValueObj;
		if(FlowJobType.MULTIPLE_CHOICE.equals(getWordVal))
		{
			MultiChoice multiChoice = new MultiChoice();

			//Available Choices...
			Method methodAvailableChoices = getMethod(
					objWithKeyParam.getClass(),
					CustomCode.MultipleChoice.METHOD_getAvailableChoices);

			Object availChoicesObj =
					CacheUtil.invoke(methodAvailableChoices, objWithKeyParam);

			if(availChoicesObj instanceof List)
			{
				multiChoice.setAvailableMultiChoices((List)availChoicesObj);
			}

			//Selected...
			Method methodSelectedChoices = getMethod(
					objWithKeyParam.getClass(),
					CustomCode.MultipleChoice.METHOD_getSelectedChoices);

			Object selectedChoicesObj =
					invoke(methodSelectedChoices, objWithKeyParam);

			if(selectedChoicesObj instanceof List)
			{
				multiChoice.setSelectedMultiChoices((List)selectedChoicesObj);
			}

			getValueObj = multiChoice;
		}
		else
		{
			getValueObj = CacheUtil.invoke(methodGetValue, objWithKeyParam);
		}

		if(getValueObj == null)
		{
			return null;
		}

		if(getWordVal == null)
		{
			throw new FluidCacheException(
					"Get Word value is 'null'. Not allowed.");
		}

		CachedFieldValue returnVal = new CachedFieldValue();

		returnVal.dataType = getWordVal;
		returnVal.cachedFieldValue = getValueObj;

		return returnVal;
	}
@ SuppressWarnings ( "unchecked" ) private CachedFieldValue getCacheFieldValueFromObject ( Object objWithKeyParam ) { if ( objWithKeyParam == null ) { return null ; } //Get Word... Method methodGetWord = CacheUtil . getMethod ( objWithKeyParam . getClass ( ) , CustomCode . IWord . METHOD_getWord ) ; //Get Value... Method methodGetValue = CacheUtil . getMethod ( objWithKeyParam . getClass ( ) , CustomCode . ADataType . METHOD_getValue ) ; //Word... Object getWordObj = CacheUtil . invoke ( methodGetWord , objWithKeyParam ) ; String getWordVal = null ; if ( getWordObj instanceof String ) { getWordVal = ( String ) getWordObj ; } //Value... Object getValueObj ; if ( FlowJobType . MULTIPLE_CHOICE . equals ( getWordVal ) ) { MultiChoice multiChoice = new MultiChoice ( ) ; //Available Choices... Method methodAvailableChoices = getMethod ( objWithKeyParam . getClass ( ) , CustomCode . MultipleChoice . METHOD_getAvailableChoices ) ; Object availChoicesObj = CacheUtil . invoke ( methodAvailableChoices , objWithKeyParam ) ; if ( availChoicesObj instanceof List ) { multiChoice . setAvailableMultiChoices ( ( List ) availChoicesObj ) ; } //Selected... Method methodSelectedChoices = getMethod ( objWithKeyParam . getClass ( ) , CustomCode . MultipleChoice . METHOD_getSelectedChoices ) ; Object selectedChoicesObj = invoke ( methodSelectedChoices , objWithKeyParam ) ; if ( selectedChoicesObj instanceof List ) { multiChoice . setSelectedMultiChoices ( ( List ) selectedChoicesObj ) ; } getValueObj = multiChoice ; } else { getValueObj = CacheUtil . invoke ( methodGetValue , objWithKeyParam ) ; } if ( getValueObj == null ) { return null ; } if ( getWordVal == null ) { throw new FluidCacheException ( "Get Word value is 'null'. Not allowed." ) ; } CachedFieldValue returnVal = new CachedFieldValue ( ) ; returnVal . dataType = getWordVal ; returnVal . cachedFieldValue = getValueObj ; return returnVal ; }
Converts the {@code objWithKeyParam} Object to {@code CachedFieldValue}.

@param objWithKeyParam The retrieved cached object.

@return CachedFieldValue from {@code objWithKeyParam}.
Converts the { @code objWithKeyParam } Object to { @code CachedFieldValue } .