@SuppressWarnings("unchecked")
	public Object getValue(String propertyPath) throws PropertyException {
		// add the PreFixPropertyPath if this Property is a copy deeper level
		String fullPropertyPath = addPath(mPropertyPathPrefix, propertyPath);

		// check propertyPath
		ObjectChecks.checkForNullReference(fullPropertyPath,
				"propertyPath is null");

		// split propertyPath
		String[] propertyKeyArray = fullPropertyPath.split("\\.");

		// load the application properties
		Map<String, Object> applicationConfigs = load();

		// return the full root map
		if (fullPropertyPath.equals("")) {
			return applicationConfigs;
		}

		// iterate the root Map for every token
		for (int i = 0; i < propertyKeyArray.length; i++) {
			Object tmp = applicationConfigs.get(propertyKeyArray[i]);
			if (tmp == null) {
				if (propertyKeyArray.length > 1) {
					throw new PropertyException("property path["
							+ fullPropertyPath + "] have not a property key["
							+ propertyKeyArray[i] + "] !");
				} else {
					throw new PropertyException(propertyKeyArray[i]
							+ "] is not a property key!");
				}
			}
			if (tmp instanceof Map) {
				applicationConfigs = (Map<String, Object>) tmp;
			} else {
				return tmp;
			}
		}
		return applicationConfigs;
	}
@ SuppressWarnings ( "unchecked" ) public Object getValue ( String propertyPath ) throws PropertyException { String fullPropertyPath = addPath ( mPropertyPathPrefix , propertyPath ) ; ObjectChecks . checkForNullReference ( fullPropertyPath , "propertyPath is null" ) ; String [ ] propertyKeyArray = fullPropertyPath . split ( "\\." ) ; Map < String , Object > applicationConfigs = load ( ) ; if ( fullPropertyPath . equals ( "" ) ) { return applicationConfigs ; } for ( int i = 0 ; i < propertyKeyArray . length ; i ++ ) { Object tmp = applicationConfigs . get ( propertyKeyArray [ i ] ) ; if ( tmp == null ) { if ( propertyKeyArray . length > 1 ) { throw new PropertyException ( "property path[" + fullPropertyPath + "] have not a property key[" + propertyKeyArray [ i ] + "] !" ) ; } else { throw new PropertyException ( propertyKeyArray [ i ] + "] is not a property key!" ) ; } } if ( tmp instanceof Map ) { applicationConfigs = ( Map < String , Object > ) tmp ; } else { return tmp ; } } return applicationConfigs ; }
Get the value from the property path (Example: foo.bar.key). If the
property path is a empty String, the full root map is returned.

@param propertyPath
Example: foo.bar.key
@return the value from the propertyPath.
@throws PropertyException
if the propertyKey-Path is not a property key or is a not
part of a property path.