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

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

Introduction

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

Prototype

public LazyDynaClass(String name, DynaProperty[] properties) 

Source Link

Document

Construct a new LazyDynaClass with the specified name and properties.

Usage

From source file:ddf.catalog.data.dynamic.impl.DynamicMetacardImplTest.java

@Before
public void setUp() throws Exception {
    properties = new DynaProperty[] { new DynaProperty(STRING, String.class),
            new DynaProperty(BOOLEAN, Boolean.class), new DynaProperty(DATE, Date.class),
            new DynaProperty(SHORT, Short.class), new DynaProperty(INTEGER, Integer.class),
            new DynaProperty(LONG, Long.class), new DynaProperty(FLOAT, Float.class),
            new DynaProperty(DOUBLE, Double.class), new DynaProperty(BINARY, Byte[].class, Byte.class),
            new DynaProperty(XML, String.class), new DynaProperty(OBJECT, Object.class),
            new DynaProperty(STRING_LIST, List.class, String.class) };

    baseClass = new LazyDynaClass("test", properties);
    baseBean = new LazyDynaBean(baseClass);
    metacard = new DynamicMetacardImpl(baseBean);
}

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);
        }/* ww  w . ja v a2  s.co 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());
    }
}

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  w ww .j a  v  a 2 s.co  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);
}