class ClassDefinitionGenerator {

    public static String generateClassDefinition(int genFileTypes, String yangName) {

        /**
         * Based on the file type and the YANG name of the file, generate the
         * class / interface definition start.
         */
        switch (genFileTypes) {
            case BUILDER_CLASS_MASK:
                return getBuilderClassDefinition(yangName);
            case IMPL_CLASS_MASK:
                return getImplClassDefinition(yangName);
            case BUILDER_INTERFACE_MASK:
                return getBuilderInterfaceDefinition(yangName);
            case GENERATE_TYPEDEF_CLASS:
            case GENERATE_UNION_CLASS:
                return getTypeClassDefinition(yangName);
            case GENERATE_ENUM_CLASS:
                return getEnumClassDefinition(yangName);
            default:
                return null;
        }
    }

    private  ClassDefinitionGenerator();

}