Package com.asakusafw.utils.java.model.util

Examples of com.asakusafw.utils.java.model.util.TypeBuilder


                            context.resolve(Class.class),
                            context.resolve(model.getSymbol())),
                    f.newSimpleName("getSupportedType"),
                    Collections.<FormalParameterDeclaration>emptyList(),
                    Arrays.asList(new Statement[] {
                            new TypeBuilder(f, context.resolve(model.getSymbol()))
                                .dotClass()
                                .toReturnStatement()
                    }));
            return decl;
        }
View Full Code Here


            statements.add(createNullCheck(columnNames));
            SimpleName vector = f.newSimpleName("vector");
            statements.add(new ExpressionBuilder(f, f.newThis())
                .method(NAME_CREATE_VECTOR, columnNames)
                .toLocalVariableDeclaration(context.resolve(int[].class), vector));
            statements.add(new TypeBuilder(f, f.newNamedType(f.newSimpleName(NAME_RESULT_SET_SUPPORT)))
                .newObject(resultSet, vector)
                .toReturnStatement());
            MethodDeclaration decl = f.newMethodDeclaration(
                    null,
                    new AttributeBuilder(f)
View Full Code Here

            statements.add(createNullCheck(columnNames));
            SimpleName vector = f.newSimpleName("vector");
            statements.add(new ExpressionBuilder(f, f.newThis())
                .method(NAME_CREATE_VECTOR, columnNames)
                .toLocalVariableDeclaration(context.resolve(int[].class), vector));
            statements.add(new TypeBuilder(f, f.newNamedType(f.newSimpleName(NAME_PREPARED_STATEMENT_SUPPORT)))
                .newObject(preparedStatement, vector)
                .toReturnStatement());
            MethodDeclaration decl = f.newMethodDeclaration(
                    null,
                    new AttributeBuilder(f)
View Full Code Here

            assert parameter != null;
            return f.newIfStatement(
                    new ExpressionBuilder(f, parameter)
                        .apply(InfixOperator.EQUALS, Models.toNullLiteral(f))
                        .toExpression(),
                    f.newBlock(new TypeBuilder(f, context.resolve(IllegalArgumentException.class))
                        .newObject(Models.toLiteral(f, MessageFormat.format(
                                "{0} must not be null",
                                parameter.getToken())))
                        .toThrowStatement()));
        }
View Full Code Here

        private MethodDeclaration createCreatePropertyVector() {
            SimpleName columnNames = f.newSimpleName("columnNames");
            SimpleName vector = f.newSimpleName("vector");
            List<Statement> statements = Lists.create();

            statements.add(new TypeBuilder(f, context.resolve(int[].class))
                .newArray(new ExpressionBuilder(f, f.newSimpleName(NAME_PROPERTY_POSITIONS))
                    .method("size")
                    .toExpression())
                .toLocalVariableDeclaration(context.resolve(int[].class), vector));

            SimpleName index = f.newSimpleName("i");
            SimpleName column = f.newSimpleName("column");
            SimpleName position = f.newSimpleName("position");
            statements.add(f.newForStatement(
                    f.newLocalVariableDeclaration(
                            new AttributeBuilder(f).toAttributes(),
                            context.resolve(int.class),
                            Arrays.asList(
                                    f.newVariableDeclarator(
                                            index,
                                            Models.toLiteral(f, 0)),
                                    f.newVariableDeclarator(
                                            f.newSimpleName("n"),
                                            new ExpressionBuilder(f, columnNames)
                                                .method("size")
                                                .toExpression()))),
                    new ExpressionBuilder(f, index)
                        .apply(InfixOperator.LESS, f.newSimpleName("n"))
                        .toExpression(),
                    f.newStatementExpressionList(new ExpressionBuilder(f, index)
                        .apply(PostfixOperator.INCREMENT)
                        .toExpression()),
                    f.newBlock(new Statement[] {
                            new ExpressionBuilder(f, columnNames)
                                .method("get", index)
                                .toLocalVariableDeclaration(context.resolve(String.class), column),
                            new ExpressionBuilder(f, f.newSimpleName(NAME_PROPERTY_POSITIONS))
                                .method("get", column)
                                .toLocalVariableDeclaration(context.resolve(Integer.class), position),
                            f.newIfStatement(
                                    new ExpressionBuilder(f, position)
                                        .apply(InfixOperator.EQUALS, Models.toNullLiteral(f))
                                        .apply(InfixOperator.CONDITIONAL_OR, new ExpressionBuilder(f, vector)
                                            .array(position)
                                            .apply(InfixOperator.NOT_EQUALS, Models.toLiteral(f, 0))
                                            .toExpression())
                                        .toExpression(),
                                    f.newBlock(new TypeBuilder(f, context.resolve(IllegalArgumentException.class))
                                        .newObject(column)
                                        .toThrowStatement())),
                            new ExpressionBuilder(f, vector)
                                .array(position)
                                .assignFrom(new ExpressionBuilder(f, index)
View Full Code Here

                        .Private()
                        .Final()
                        .toAttributes(),
                    context.resolve(Calendar.class),
                    f.newSimpleName(NAME_CALENDAR),
                    new TypeBuilder(f, context.resolve(Calendar.class))
                        .method("getInstance")
                        .toExpression());
        }
View Full Code Here

                            .Private()
                            .Final()
                            .toAttributes(),
                        context.resolve(java.sql.Date.class),
                        f.newSimpleName(NAME_DATE),
                        new TypeBuilder(f, context.resolve(java.sql.Date.class))
                            .newObject(Models.toLiteral(f, 0L))
                            .toExpression()));
            }
            if (kinds.contains(BasicTypeKind.DATETIME)) {
                members.add(f.newFieldDeclaration(
                        null,
                        new AttributeBuilder(f)
                            .Private()
                            .Final()
                            .toAttributes(),
                        context.resolve(java.sql.Timestamp.class),
                        f.newSimpleName(NAME_DATETIME),
                        new TypeBuilder(f, context.resolve(java.sql.Timestamp.class))
                            .newObject(Models.toLiteral(f, 0L))
                            .toExpression()));
            }
            if (kinds.contains(BasicTypeKind.DATE) || kinds.contains(BasicTypeKind.DATETIME)) {
                members.add(createCalendarBuffer());
View Full Code Here

                        f.newBlock(
                                new ExpressionBuilder(f, calendar)
                                    .method("setTime", value)
                                    .toStatement(),
                                new ExpressionBuilder(f, date)
                                    .method("setElapsedDays", new TypeBuilder(f, context.resolve(DateUtil.class))
                                        .method("getDayFromCalendar", calendar)
                                        .toExpression())
                                    .toStatement(),
                                new ExpressionBuilder(f, object)
                                    .method(context.getValueSetterName(property), date)
                                    .toStatement()),
                        f.newBlock(setNullToProperty(object, property))));
                break;
            case DATETIME:
                statements.add(new ExpressionBuilder(f, resultSet)
                    .method("getTimestamp", position, calendar)
                    .toLocalVariableDeclaration(context.resolve(java.sql.Timestamp.class), value));
                statements.add(f.newIfStatement(
                        new ExpressionBuilder(f, value)
                            .apply(InfixOperator.NOT_EQUALS, Models.toNullLiteral(f))
                            .toExpression(),
                        f.newBlock(
                                new ExpressionBuilder(f, calendar)
                                    .method("setTime", value)
                                    .toStatement(),
                                new ExpressionBuilder(f, datetime)
                                    .method("setElapsedSeconds", new TypeBuilder(f, context.resolve(DateUtil.class))
                                        .method("getSecondFromCalendar", calendar)
                                        .toExpression())
                                    .toStatement(),
                                new ExpressionBuilder(f, object)
                                    .method(context.getValueSetterName(property), datetime)
View Full Code Here

                        .method("toString")
                        .toExpression())
                    .toStatement());
                break;
            case DATE:
                statements.add(new TypeBuilder(f, context.resolve(DateUtil.class))
                    .method("setDayToCalendar",
                            new ExpressionBuilder(f, object)
                                .method(context.getValueGetterName(property))
                                .method("getElapsedDays")
                                .toExpression(),
                            calendar)
                    .toStatement());
                statements.add(new ExpressionBuilder(f, date)
                    .method("setTime", new ExpressionBuilder(f, calendar)
                        .method("getTimeInMillis")
                        .toExpression())
                    .toStatement());
                statements.add(new ExpressionBuilder(f, statement)
                    .method("setDate", position, date)
                    .toStatement());
                break;
            case DATETIME:
                statements.add(new TypeBuilder(f, context.resolve(DateUtil.class))
                    .method("setSecondToCalendar",
                            new ExpressionBuilder(f, object)
                                .method(context.getValueGetterName(property))
                                .method("getElapsedSeconds")
                                .toExpression(),
View Full Code Here

            return statements;
        }

        private Expression createNullType(PropertyDeclaration property) {
            assert property != null;
            return new TypeBuilder(f, context.resolve(Types.class))
                .field(getJdbcTypeName(property))
                .toExpression();
        }
View Full Code Here

TOP

Related Classes of com.asakusafw.utils.java.model.util.TypeBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.