![JAR search and dependency download from the Maven repository](/logo.png)
de.tsl2.nano.h5.navigation.BeanParameter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tsl2.nano.h5 Show documentation
Show all versions of tsl2.nano.h5 Show documentation
TSL2 Framework Html5 Extensions (WebServer, Html5Presentation, RuleCover, BeanConfigurator, LogicTable-Sheet, Expression-Descriptors for Actions, Rules, URLs, Queries)
/*
* File: $HeadURL$
* Id : $Id$
*
* created by: Tom, Thomas Schneider
* created on: 30.12.2013
*
* Copyright: (c) Thomas Schneider 2013, all rights reserved
*/
package de.tsl2.nano.h5.navigation;
import de.tsl2.nano.core.cls.BeanClass;
import de.tsl2.nano.core.util.StringUtil;
/**
* map of objects to be handled as beans. means, you are able to search for bean-paths inside this map.
* Example:
* class Organization {
* String name;
* }
* class Person {
* Organization orga;
* }
*
* map is holding: key=person, value=instance of Person
* call of get('person.orga.name') will return the persons organization name.
*
*
* @author Tom, Thomas Schneider
* @version $Revision$
*/
public class BeanParameter extends Parameter {
/** serialVersionUID */
private static final long serialVersionUID = 1L;
@Override
public Object get(Object key) {
Object p = super.get(key);
String name = key.toString();
if (p != null || name.indexOf('.') == -1) {
return p;
}
//ok, we look for a bean path
String refName = StringUtil.substring(name, null, ".");
Object refObject = super.get(refName);
if (refObject == null) {
return null;
}
return BeanClass.getValue(refObject, StringUtil.substring(name, ".", null));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy