@SuppressWarnings("rawtypes")
    public void register(TypeCategory category,
            @Nullable Class<? extends Expression> expr,
            @Nullable Class<? extends Path> path,
            @Nullable Class<? extends TemplateExpression> template) {
        if (expr != null) {
            exprTypes.put(category, new ClassType(expr));
        }
        if (path != null) {
            pathTypes.put(category, new ClassType(path));
        }
        if (template != null) {
            templateTypes.put(category, new ClassType(template));
        }
    }
{@code TypeMappings} defines mappings from Java types to {@link Expression}, {@link Path} and
{@link TemplateExpression} types

@author tiwe
querydsl-codegen/src/main/java/com/querydsl/codegen/TypeMappings.java