package com.basistech.rnm.index.ws.impl;

import java.beans.PropertyDescriptor;
import java.util.List;

import javax.xml.namespace.QName;

import org.codehaus.xfire.aegis.type.basic.XMLBeanTypeInfo;

class XMLBeanTypeInfoWithNamespacePrefix extends XMLBeanTypeInfo {
    
    String defaultNamespacePrefix;

    public XMLBeanTypeInfoWithNamespacePrefix(Class typeClass, List mappings, String defaultNS, String defaultNamespacePrefix) {
        super(typeClass, mappings, defaultNS);
        this.defaultNamespacePrefix = defaultNamespacePrefix;
    }

    @Override
    protected QName createMappedName(PropertyDescriptor desc) {
        if(defaultNamespacePrefix != null) {
            return new QName(getDefaultNamespace(), desc.getName(), defaultNamespacePrefix);            
        }
        return super.createMappedName(desc);
    }

}
