示例#1
0
CodeClassField * newCodeClassField(ClassifierCodeDocument *ccd, UMLRole *role)
{
    CodeClassField *retval = NULL;
    switch (UMLApp::app()->activeLanguage()) {
        case Uml::ProgrammingLanguage::Cpp:
            retval = new CPPCodeClassField(ccd, role);
            break;
        case Uml::ProgrammingLanguage::D:
            retval = new DCodeClassField(ccd, role);
            break;
        case Uml::ProgrammingLanguage::Java:
            retval = new JavaCodeClassField(ccd, role);
            break;
        case Uml::ProgrammingLanguage::Ruby:
            retval = new RubyCodeClassField(ccd, role);
            break;
        default:
            break;
    }
    retval->finishInitialization();
    return retval;
}