示例#1
0
 private String generateIndexAnnotation(IndexInspector index) {
   AnnotationBuilder ap = new AnnotationBuilder();
   ap.append('@').append(IQIndex.class.getSimpleName());
   ap.append('(');
   ap.resetCount();
   if (!StringUtils.isNullOrEmpty(index.name)) {
     ap.addParameter("name", index.name);
   }
   if (!index.type.equals(IndexType.STANDARD)) {
     ap.addEnum("type", index.type);
   }
   if (ap.getCount() > 0) {
     // multiple fields specified
     ap.addParameter("value", index.columns);
   } else {
     // default value
     ap.addParameter(null, index.columns);
   }
   ap.append(')');
   return ap.toString();
 }
示例#2
0
 /**
  * Generates the specified index annotation.
  *
  * @param ap
  */
 String generateIndexAnnotations() {
   if (indexes == null || indexes.size() == 0) {
     // no matching indexes
     return null;
   }
   AnnotationBuilder ap = new AnnotationBuilder();
   if (indexes.size() == 1) {
     // single index
     IndexInspector index = indexes.values().toArray(new IndexInspector[1])[0];
     ap.append(generateIndexAnnotation(index));
     ap.append(eol);
   } else {
     // multiple indexes
     ap.append('@').append(IQIndexes.class.getSimpleName());
     ap.append("({");
     ap.resetCount();
     for (IndexInspector index : indexes.values()) {
       ap.appendExceptFirst(", ");
       ap.append(generateIndexAnnotation(index));
     }
     ap.append("})").append(eol);
   }
   return ap.toString();
 }