Example usage for org.apache.commons.beanutils LazyDynaClass setReturnNull

List of usage examples for org.apache.commons.beanutils LazyDynaClass setReturnNull

Introduction

In this page you can find the example usage for org.apache.commons.beanutils LazyDynaClass setReturnNull.

Prototype

public void setReturnNull(boolean returnNull) 

Source Link

Document

Set whether this DynaClass should return a null from the getDynaProperty(name) method if the property doesn't exist.

Usage

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());
    }
}