blob: 4f4dd57fe8cf7e630fa346082a868fb921213eb9 [file] [log] [blame]
package org.apache.felix.dm.impl;
import java.util.Dictionary;
import org.apache.felix.dm.dependencies.PropertyMetaData;
import org.apache.felix.dm.impl.metatype.MetaTypeProviderImpl;
import org.osgi.framework.BundleContext;
import org.osgi.service.metatype.MetaTypeProvider;
import org.osgi.service.metatype.ObjectClassDefinition;
public class FactoryConfigurationAdapterMetaTypeImpl extends FactoryConfigurationAdapterImpl implements MetaTypeProvider
{
// Our MetaType Provider for describing our properties metadata
private MetaTypeProviderImpl m_metaType;
/**
* Creates a new CM factory configuration adapter.
*
* @param factoryPid
* @param updateMethod
* @param adapterInterface
* @param adapterImplementation
* @param adapterProperties
* @param propagate
*/
public FactoryConfigurationAdapterMetaTypeImpl(String factoryPid, String updateMethod, Object adapterImplementation, Object adapterInterface, Dictionary adapterProperties, boolean propagate,
BundleContext bctx, Logger logger, String heading, String description, String localization, PropertyMetaData[] properyMetaData)
{
super(factoryPid, updateMethod, adapterImplementation, adapterInterface, adapterProperties, propagate);
m_metaType = new MetaTypeProviderImpl(m_factoryPid, bctx, logger, null, this);
m_metaType.setName(heading);
m_metaType.setDescription(description);
if (localization != null)
{
m_metaType.setLocalization(localization);
}
for (int i = 0; i < properyMetaData.length; i ++)
{
m_metaType.add(properyMetaData[i]);
}
}
public String[] getLocales()
{
return m_metaType.getLocales();
}
public ObjectClassDefinition getObjectClassDefinition(String id, String locale)
{
return m_metaType.getObjectClassDefinition(id, locale);
}
}