List of usage examples for org.apache.commons.beanutils LazyDynaClass setReturnNull
public void setReturnNull(boolean returnNull)
null
from the getDynaProperty(name)
method if the property doesn't exist. From source file:ddf.catalog.data.dynamic.impl.MetacardFactoryImpl.java
private static void registerNewType(String name, List<MetacardPropertyDescriptorImpl> descriptors) { // save the list of MetacardPropertyDescriptor if (typeProperties.get(name) != null) { LOGGER.warn("Attempt to overwrite dynamic metacard type with name {} - only one instance allowed.", name);/*from www .j a v a 2 s .c o m*/ return; } MetacardPropertyDescriptorImpl[] descriptorArray = new MetacardPropertyDescriptorImpl[descriptors.size()]; int i = 0; for (MetacardPropertyDescriptorImpl descriptor : descriptors) { descriptorArray[i++] = descriptor; } typeProperties.put(name, descriptorArray); LazyDynaClass dynaClass = new LazyDynaClass(name, descriptorArray); dynaClass.setReturnNull(true); LOGGER.info("Registering new dynamic metacard - name {}", dynaClass.getName()); typeClasses.put(dynaClass.getName(), dynaClass); }
From source file:ddf.catalog.data.dynamic.impl.MetacardFactoryImpl.java
@Override public void registerDynamicMetacardType(String name, List<MetacardPropertyDescriptor> descriptors) { if (StringUtils.isNotEmpty(name) && descriptors != null && descriptors.size() > 0) { DynaProperty[] properties = new DynaProperty[descriptors.size()]; int i = 0; for (MetacardPropertyDescriptor descriptor : descriptors) { properties[i++] = getDynaProperty(descriptor); }/*from ww w. ja va 2s . c o m*/ LazyDynaClass dynaClass = new LazyDynaClass(name, properties); // set to return null when getter is called with non-existent property dynaClass.setReturnNull(true); LOGGER.info("Registering new dynamic metacard - name {}", dynaClass.getName()); typeClasses.put(dynaClass.getName(), dynaClass); typeProperties.put(name, descriptors.toArray(new MetacardPropertyDescriptor[0])); } else { LOGGER.warn( "Called to register dynamic metacard with invalid data - name must be non-null and one or more descriptors - name: {} descriptor size: {}", name, descriptors == null ? "null" : descriptors.size()); } }