Java 类javax.validation.GroupSequence 实例源码

项目:beanvalidation-benchmark    文件:MetaJavaBean.java   
public MetaAnnotation buildGroupSequenceAnnot() {
    if ( this.groups.isEmpty() ) {
        return null; // No group sequence needed
    }
    else {
        // Build the array of groups
        JDefinedClass[] gs = new JDefinedClass[groups.size()+1];
        int i=0;
        for ( MetaGroup group : groups ) {
            gs[i++] = group.getGeneratedClass();
        }
        gs[i] = getGeneratedClass(); // Add the class itself (acts as Default)
        HashMap<String,Object> gsParams = Maps.newHashMap();
        gsParams.put("value", gs);
        MetaAnnotation gsAnnot = new MetaAnnotation(getGeneratedClass().owner(), GroupSequence.class, AnnotationType.OTHER, gsParams);
        return gsAnnot;
    }
}
项目:gwt-bean-validators    文件:GwtSpecificValidatorCreator.java   
private void writeBeanMetadata(final SourceWriter sw) throws UnableToCompleteException {
  // private final BeanMetadata beanMetadata =
  sw.println("private final BeanMetadata beanMetadata =");
  sw.indent();
  sw.indent();

  // new BeanMetadata(
  sw.println("new " + BeanMetadata.class.getSimpleName() + "(");
  sw.indent();
  sw.indent();

  // <<bean class>>, <<default group seq class 1>>, <<default group seq class 2>>, ...
  final Class<?> beanClazz = this.beanHelper.getClazz();
  sw.print(asLiteral(beanClazz));
  final GroupSequence groupSeqAnnotation = beanClazz.getAnnotation(GroupSequence.class);
  final List<Class<?>> groupSequence = new ArrayList<>();
  if (groupSeqAnnotation == null) {
    groupSequence.add(beanClazz);
  } else {
    groupSequence.addAll(Arrays.asList(groupSeqAnnotation.value()));
  }
  boolean groupSequenceContainsDefault = false;
  for (final Class<?> group : groupSequence) {
    sw.println(",");
    if (group.getName().equals(beanClazz.getName())) {
      sw.print(asLiteral(Default.class));
      groupSequenceContainsDefault = true;
    } else if (group.getName().equals(Default.class.getName())) {
      throw error(this.logger, "'Default.class' cannot appear in default group sequence list.");
    } else {
      sw.print(asLiteral(group));
    }
  }
  if (!groupSequenceContainsDefault) {
    throw error(this.logger,
        beanClazz.getName() + " must be part of the redefined default group " + "sequence.");
  }

  sw.println(");");
  sw.outdent();
  sw.outdent();
  sw.outdent();
  sw.outdent();
}