public Field getField(String fieldName) { for (final Field f : getFields()) { if (f.getName().equals(fieldName)) { return f; } } return null; }
public Field getField(String fieldName) { for (final Field f : getFields()) { if (f.getName().equals(fieldName)) { return f; } } return null; }
@Override public String createQueryNameForField(Field field) { checkObjectIsNotNull(field, "field cannot be null"); return getQueryName(field.getName()); }
private boolean hasUniqueConstraintOnField(BusinessObject businessObject, Field field) { for (UniqueConstraint uniqueConstraint : businessObject.getUniqueConstraints()) { if (uniqueConstraint.getFieldNames().size() == 1 && uniqueConstraint.getFieldNames().contains(field.getName())) { return true; } } return false; }
private boolean hasUniqueConstraintOnField(BusinessObject businessObject, Field field) { for (UniqueConstraint uniqueConstraint : businessObject.getUniqueConstraints()) { if (uniqueConstraint.getFieldNames().size() == 1 && uniqueConstraint.getFieldNames().contains(field.getName())) { return true; } } return false; }
@Override public String createQueryNameForField(Field field) { checkObjectIsNotNull(field, "field cannot be null"); return getQueryName(field.getName()); }
protected String createQueryContentForField(String businessObjectName, Field field) { checkArgumentisNotEmpty(businessObjectName); checkObjectIsNotNull(field, "field cannot be null"); final String simpleName = BDMSimpleNameProvider.getSimpleBusinessObjectName(businessObjectName); final char var = BDMSimpleNameProvider.getSimpleNameAlias(simpleName); final StringBuilder builder = new StringBuilder(); builder.append(buildSelectFrom(simpleName, var)); builder.append(buildWhere(var, field.getName())); builder.append(buildOrderBy(var)); return builder.toString(); }
protected String createQueryContentForField(String businessObjectName, Field field) { checkArgumentisNotEmpty(businessObjectName); checkObjectIsNotNull(field, "field cannot be null"); final String simpleName = BDMSimpleNameProvider.getSimpleBusinessObjectName(businessObjectName); final char var = BDMSimpleNameProvider.getSimpleNameAlias(simpleName); final StringBuilder builder = new StringBuilder(); builder.append(buildSelectFrom(simpleName, var)); builder.append(buildWhere(var, field.getName())); builder.append(buildOrderBy(var)); return builder.toString(); }
@Override public ValidationStatus validate(final Field field) { final ValidationStatus status = new ValidationStatus(); final String name = field.getName(); if (name == null || !SourceVersion.isIdentifier(name) || SourceVersion.isKeyword(name) || isForbiddenIdentifier(name)) { status.addError(StatusCode.INVALID_FIELD_IDENTIFIER, String.format("%s is not a valid field identifier", name), Collections.singletonMap(StatusContext.BDM_ARTIFACT_NAME_KEY, name)); return status; } return status; }
@Override public ValidationStatus validate(final Field field) { final ValidationStatus status = new ValidationStatus(); final String name = field.getName(); if (name == null || !SourceVersion.isIdentifier(name) || SourceVersion.isKeyword(name) || isForbiddenIdentifier(name)) { status.addError(StatusCode.INVALID_FIELD_IDENTIFIER, String.format("%s is not a valid field identifier", name), Collections.singletonMap(StatusContext.BDM_ARTIFACT_NAME_KEY, name)); return status; } return status; }
private JMethod addListMethod(final JDefinedClass definedClass, final Field field, final String listMethodName, final String parameterName) { final JClass fieldClass = toJavaClass(field); final StringBuilder builder = new StringBuilder(parameterName); builder.append(WordUtils.capitalize(field.getName())); final JMethod method = definedClass.method(JMod.PUBLIC, void.class, builder.toString()); final JVar adderParam = method.param(fieldClass, parameterName); final JBlock body = method.body(); final JVar decl = body.decl(getModel().ref(List.class), field.getName(), JExpr.invoke(getGetterName(field))); body.add(decl.invoke(listMethodName).arg(adderParam)); return method; }
public String getGetterName(final Field field) { final boolean bool = field instanceof SimpleField && FieldType.BOOLEAN.equals(((SimpleField) field).getType()) && !field.isCollection(); return getGetterName(bool, field.getName()); }
private JMethod addListMethod(final JDefinedClass definedClass, final Field field, final String listMethodName, final String parameterName) { final JClass fieldClass = toJavaClass(field); final StringBuilder builder = new StringBuilder(parameterName); builder.append(WordUtils.capitalize(field.getName())); final JMethod method = definedClass.method(JMod.PUBLIC, void.class, builder.toString()); final JVar adderParam = method.param(fieldClass, parameterName); final JBlock body = method.body(); final JVar decl = body.decl(getModel().ref(List.class), field.getName(), JExpr.invoke(getGetterName(field))); body.add(decl.invoke(listMethodName).arg(adderParam)); return method; }
public String getGetterName(final Field field) { final boolean bool = field instanceof SimpleField && FieldType.BOOLEAN.equals(((SimpleField) field).getType()) && !field.isCollection(); return getGetterName(bool, field.getName()); }
public JFieldVar addField(final JDefinedClass entityClass, final Field field) { JFieldVar fieldVar = null; if (field.isCollection()) { fieldVar = codeGenerator.addListField(entityClass, field); } else { fieldVar = codeGenerator.addField(entityClass, field.getName(), codeGenerator.toJavaClass(field)); } annotateField(entityClass, field, fieldVar); return fieldVar; }
public JFieldVar addField(final JDefinedClass entityClass, final Field field) { JFieldVar fieldVar = null; if (field.isCollection()) { fieldVar = codeGenerator.addListField(entityClass, field); } else { fieldVar = codeGenerator.addField(entityClass, field.getName(), codeGenerator.toJavaClass(field)); } annotateField(entityClass, field, fieldVar); return fieldVar; }
@Override public Query createQueryForField(BusinessObject businessObject, Field field) { checkObjectIsNotNull(field, "field cannot be null"); checkFieldIsNotACollection(field); final Query query = new Query(createQueryNameForField(field), createQueryContentForField(businessObject.getQualifiedName(), field), getListReturnType()); if (field instanceof SimpleField) { query.addQueryParameter(field.getName(), ((SimpleField) field).getType().getClazz().getName()); } return query; }
@Override public Query createQueryForField(BusinessObject businessObject, Field field) { checkObjectIsNotNull(field, "field cannot be null"); checkFieldIsNotACollection(field); final Query query = new Query(createQueryNameForField(field), createQueryContentForField(businessObject.getQualifiedName(), field), getListReturnType()); if (field instanceof SimpleField) { query.addQueryParameter(field.getName(), ((SimpleField) field).getType().getClazz().getName()); } return query; }
@Override public Query createQueryForUniqueConstraint(final BusinessObject businessObject, final UniqueConstraint uniqueConstraint) { final String name = createQueryNameForUniqueConstraint(uniqueConstraint); final String content = createQueryContentForUniqueConstraint(businessObject.getQualifiedName(), uniqueConstraint); final Query q = new Query(name, content, getQualifiedReturnType(businessObject)); for (final String fieldName : uniqueConstraint.getFieldNames()) { final Field f = getField(fieldName, businessObject); if (f instanceof SimpleField) { q.addQueryParameter(f.getName(), ((SimpleField) f).getType().getClazz().getName()); } } return q; }
protected JFieldVar addListField(final JDefinedClass entityClass, final Field field) { final JClass fieldClass = toJavaClass(field); final JClass fieldListClass = narrowClass(List.class, fieldClass); final JClass arrayListFieldClazz = narrowClass(ArrayList.class, fieldClass); final JFieldVar listFieldVar = entityClass.field(JMod.PRIVATE, fieldListClass, field.getName()); final JExpression newInstance = JExpr._new(arrayListFieldClazz).arg(JExpr.lit(10)); listFieldVar.init(newInstance); return listFieldVar; }