@Override public Node visit(StringLiteralExpr _n, Object _arg) { Comment comment = cloneNodes(_n.getComment(), _arg); StringLiteralExpr r = new StringLiteralExpr( _n.getBeginLine(), _n.getBeginColumn(), _n.getEndLine(), _n.getEndColumn(), _n.getValue() ); r.setComment(comment); return r; }
@Override public void visit(final StringLiteralExpr n, final Object arg) { printJavaComment(n.getComment(), arg); printer.print("\""); printer.print(n.getValue()); printer.print("\""); }
private AnnotationExpr createJoinColumn(FieldDescriptor thisField, FieldDescriptor itemField) { final List<MemberValuePair> pairs = new ArrayList<MemberValuePair>(); pairs.add(new MemberValuePair("name", new StringLiteralExpr(thisField.getColumnName()))); pairs.add(new MemberValuePair("referencedColumnName", new StringLiteralExpr(itemField.getColumnName()))); if (!isAnonymousFk(thisField)) { pairs.add(new MemberValuePair("insertable", new BooleanLiteralExpr(false))); pairs.add(new MemberValuePair("updatable", new BooleanLiteralExpr(false))); } // Per this page: https://forums.oracle.com/message/3923913 // the nullable attribute is a hint to the DDL generation, especially on fields like this. // Commenting this flag out for now as it's just "noise" in the annotation definitions // if (!isNullableFk(thisField)) { // pairs.add(new MemberValuePair("nullable", new BooleanLiteralExpr(false))); // } return new NormalAnnotationExpr(new NameExpr("JoinColumn"), pairs); }
@Override public void visit(final StringLiteralExpr n, final A arg) { visitComment(n.getComment(), arg); }
@Override protected NodeData getAnnotationNodes(String enclosingClass, String fieldName, String mappedClass) { final FieldDescriptor fd = OjbUtil.findFieldDescriptor(mappedClass, fieldName, descriptorRepositories); if (fd != null) { final boolean autoInc = fd.isAutoIncrement(); final String seqName = fd.getSequenceName(); if (autoInc && StringUtils.isBlank(seqName)) { LOG.error(ResolverUtil.logMsgForField(enclosingClass, fieldName, mappedClass) + " field has autoincrement set to true but sequenceName is blank."); } if (!autoInc && StringUtils.isNotBlank(seqName)) { LOG.error(ResolverUtil.logMsgForField(enclosingClass, fieldName, mappedClass) + " field has autoincrement set to false but sequenceName is " + seqName + "."); } if (autoInc || StringUtils.isNotBlank(seqName)) { return new NodeData(new NormalAnnotationExpr(new NameExpr(SIMPLE_NAME), Collections.singletonList(new MemberValuePair("generator", new StringLiteralExpr(upperCaseTableName ? seqName.toUpperCase() : seqName)))), new ImportDeclaration(new QualifiedNameExpr(new NameExpr(PACKAGE), SIMPLE_NAME), false, false)); } } return null; } }
@Override public XAnnotationValue<Long> visitDefault(StringLiteralExpr n, Void arg) { return new XLongAnnotationValue(Long.valueOf(n.getValue())); }
for (int i = 0; i < pfds.length; i++) { final List<MemberValuePair> pairs = new ArrayList<MemberValuePair>(); pairs.add(new MemberValuePair("name", new StringLiteralExpr(pfds[i].getColumnName()))); pairs.add(new MemberValuePair("referencedColumnName", new StringLiteralExpr(ipfds[i].getColumnName()))); joinColumns.add(new NormalAnnotationExpr(new NameExpr("PrimaryKeyJoinColumn"), pairs));
@Override public XAnnotationValue<String> visitDefault(StringLiteralExpr n, Void arg) { return new XStringAnnotationValue(String.valueOf(n.getValue())); } }
@Override protected NodeData getAnnotationNodes(String enclosingClass, String fieldName, String mappedClass) { final FieldDescriptor fd = OjbUtil.findFieldDescriptor(mappedClass, fieldName, descriptorRepositories); if (fd != null) { final boolean autoInc = fd.isAutoIncrement(); final String seqName = fd.getSequenceName(); if (autoInc && StringUtils.isBlank(seqName)) { LOG.error(ResolverUtil.logMsgForField(enclosingClass, fieldName, mappedClass) + " field has autoincrement set to true but sequenceName is blank."); } if (!autoInc && StringUtils.isNotBlank(seqName)) { LOG.error(ResolverUtil.logMsgForField(enclosingClass, fieldName, mappedClass) + " field has autoincrement set to false but sequenceName is " + seqName + "."); } if (autoInc || StringUtils.isNotBlank(seqName)) { return new NodeData(new NormalAnnotationExpr(new NameExpr(SIMPLE_NAME), Collections.singletonList(new MemberValuePair("name", new StringLiteralExpr(upperCaseTableName ? seqName.toUpperCase() : seqName)))), new ImportDeclaration(new QualifiedNameExpr(new NameExpr(PACKAGE), SIMPLE_NAME), false, false)); } } return null; } }
@Override public XAnnotationValue<Integer> visitDefault(StringLiteralExpr n, Void arg) { return new XIntAnnotationValue(Integer.valueOf(n.getValue())); } }
/** gets the annotation but also adds an import in the process if a Convert annotation is required. */ @Override protected NodeData getAnnotationNodes(String enclosingClass, String fieldName, String mappedClass) { final CollectionDescriptor cld = OjbUtil.findCollectionDescriptor(mappedClass, fieldName, descriptorRepositories); if (cld != null) { Collection<FieldHelper> orderBy = cld.getOrderBy(); if (orderBy != null && !orderBy.isEmpty()) { String orderByStr = ""; for (FieldHelper fh : orderBy) { orderByStr += fh.name + (fh.isAscending ? "" : " DESC") + ", "; } orderByStr = orderByStr.replaceAll(", $", ""); return new NodeData(new SingleMemberAnnotationExpr(new NameExpr(SIMPLE_NAME), new StringLiteralExpr(orderByStr)), new ImportDeclaration(new QualifiedNameExpr(new NameExpr(PACKAGE), SIMPLE_NAME), false, false)); } } return null; } }
@Override public XAnnotationValue<Short> visitDefault(StringLiteralExpr n, Void arg) { return new XShortAnnotationValue(Short.valueOf(n.getValue())); } }
error = true; } else { pairs.add(new MemberValuePair("name", new StringLiteralExpr(joinTable))); for (String fk : fkToItemClass) { final List<MemberValuePair> joinColumnsPairs = new ArrayList<MemberValuePair>(); joinColumnsPairs.add(new MemberValuePair("name", new StringLiteralExpr(fk))); final Collection<String> pks = OjbUtil.getPrimaryKeyNames(itemClassName, descriptorRepositories); joinColumnsPairs.add(new MemberValuePair("referencedColumnName", new StringLiteralExpr(getPksAsString(pks)))); joinColumns.add(new NormalAnnotationExpr(new NameExpr("JoinColumn"), joinColumnsPairs)); for (String fk : fkToItemClass) { final List<MemberValuePair> invJoinColumnsPairs = new ArrayList<MemberValuePair>(); invJoinColumnsPairs.add(new MemberValuePair("name", new StringLiteralExpr(fk))); final Collection<String> pks = OjbUtil.getPrimaryKeyNames(mappedClass, descriptorRepositories); invJoinColumnsPairs.add(new MemberValuePair("referencedColumnName", new StringLiteralExpr( getPksAsString(pks)))); invJoinColumns.add(new NormalAnnotationExpr(new NameExpr("JoinColumn"), invJoinColumnsPairs));
@Override public XAnnotationValue<Float> visitDefault(StringLiteralExpr n, Void arg) { return new XFloatAnnotationValue(Float.valueOf(n.getValue())); } }
@Override public NodeData resolve(Node node, String mappedClass) { if (!(node instanceof ClassOrInterfaceDeclaration)) { throw new IllegalArgumentException("this annotation belongs only on ClassOrInterfaceDeclaration"); } final TypeDeclaration dclr = (TypeDeclaration) node; if (!(dclr.getParentNode() instanceof CompilationUnit)) { //handling nested classes return null; } final String name = dclr.getName(); final String pckg = ((CompilationUnit) dclr.getParentNode()).getPackage().getName().toString(); final String enclosingClass = pckg + "." + name; final ClassDescriptor cd = OjbUtil.findClassDescriptor(enclosingClass, descriptorRepositories); if (cd != null) { final String tableName = getMappedTable(enclosingClass); if (tableName == null) { LOG.error(ResolverUtil.logMsgForClass(enclosingClass, mappedClass) + " table could not be found"); return null; } return new NodeData(new NormalAnnotationExpr(new NameExpr(SIMPLE_NAME), Collections.singletonList(new MemberValuePair("name", new StringLiteralExpr(upperCaseTableName ? tableName.toUpperCase() : tableName)))), new ImportDeclaration(new QualifiedNameExpr(new NameExpr(PACKAGE), SIMPLE_NAME), false, false)); } return null; }
@Override public XAnnotationValue<Byte> visitDefault(StringLiteralExpr n, Void arg) { return new XByteAnnotationValue(Byte.valueOf(n.getValue())); } }
pairs.add(new MemberValuePair("name", new StringLiteralExpr(upperCaseTableName ? columnName.toUpperCase() : columnName))); } else { LOG.error(ResolverUtil.logMsgForField(enclosingClass, fieldName, mappedClass) + " field column is blank");
@Override public XAnnotationValue<Double> visitDefault(StringLiteralExpr n, Void arg) { return new XDoubleAnnotationValue(Double.valueOf(n.getValue())); } }
case STRING_LITERAL: jj_consume_token(STRING_LITERAL); ret = new StringLiteralExpr(token.beginLine, token.beginColumn, token.endLine, token.endColumn, token.image.substring(1, token.image.length()-1)); break; case FALSE: