Package javax.validation

Examples of javax.validation.GroupDefinitionException


        if ( group.getName().equals( beanClass.getName() ) ) {
          validDefaultGroupSequence.add( Default.class );
          groupSequenceContainsDefault = true;
        }
        else if ( group.getName().equals( Default.class.getName() ) ) {
          throw new GroupDefinitionException( "'Default.class' cannot appear in default group sequence list." );
        }
        else {
          validDefaultGroupSequence.add( group );
        }
      }
    }
    if ( !groupSequenceContainsDefault ) {
      throw new GroupDefinitionException( beanClass.getName() + " must be part of the redefined default group sequence." );
    }
    if ( log.isTraceEnabled() ) {
      log.trace(
          "Members of the default group sequence for bean {} are: {}",
          beanClass.getName(),
View Full Code Here


    List<Class<?>> groupSequence = new ArrayList<Class<?>>();
    GroupSequenceProvider groupSequenceProviderAnnotation = beanClass.getAnnotation( GroupSequenceProvider.class );
    GroupSequence groupSequenceAnnotation = beanClass.getAnnotation( GroupSequence.class );

    if ( groupSequenceAnnotation != null && groupSequenceProviderAnnotation != null ) {
      throw new GroupDefinitionException(
          "GroupSequence and GroupSequenceProvider annotations cannot be used at the same time"
      );
    }

    if ( groupSequenceProviderAnnotation != null ) {
View Full Code Here

  }

  @SuppressWarnings("unchecked")
  private <U extends DefaultGroupSequenceProvider<?>> DefaultGroupSequenceProvider<T> newGroupSequenceProviderInstance(Class<U> providerClass) {
    if ( providerClass.isInterface() ) {
      throw new GroupDefinitionException(
          "The default group sequence provider defined for " + beanClass.getName() + " must be an implementation of the DefaultGroupSequenceProvider interface"
      );
    }

    Method[] providerMethods = getMethods( providerClass );
    for ( Method method : providerMethods ) {
      Class<?>[] paramTypes = method.getParameterTypes();
      if ( "getValidationGroups".equals( method.getName() ) && !method.isBridge()
          && paramTypes.length == 1 && paramTypes[0].isAssignableFrom( beanClass ) ) {

        return (DefaultGroupSequenceProvider<T>) newInstance(
            providerClass, "the default group sequence provider"
        );
      }
    }

    throw new GroupDefinitionException(
        "The default group sequence provider defined for " + beanClass.getName() + " has the wrong type"
    );
  }
View Full Code Here

                // if we are at the beginning or end of he defaultGroupSequence and the
                // matches are either directly before or after we can continue,
                // since we basically have two groups
                continue;
            }
            throw new GroupDefinitionException("Unable to expand default group list" +
                  defaultGroupList + " into sequence " + groupList);
        }
    }
View Full Code Here

    }

    private List<Group> resolveSequence(Class<?> group, GroupSequence sequenceAnnotation,
                                        Set<Class<?>> processedSequences) {
        if (processedSequences.contains(group)) {
            throw new GroupDefinitionException("Cyclic dependency in groups definition");
        } else {
            processedSequences.add(group);
        }
        List<Group> resolvedGroupSequence = new LinkedList<Group>();
        Class<?>[] sequenceArray = sequenceAnnotation.value();
View Full Code Here

        for (Class<?> groupClass : groupClasses) {
            if (groupClass.getName().equals(beanClass.getName())) {
                groupSeq.add(Group.DEFAULT);
                containsDefault = true;
            } else if (groupClass.getName().equals(Default.class.getName())) {
                throw new GroupDefinitionException("'Default.class' must not appear in @GroupSequence! Use '"
                    + beanClass.getSimpleName() + ".class' instead.");
            } else {
                groupSeq.add(new Group(groupClass));
            }
        }
        if (!containsDefault) {
            throw new GroupDefinitionException("Redefined default group sequence must contain " + beanClass.getName());
        }
        log.log(Level.FINEST, String.format("Default group sequence for bean %s is: %s", beanClass.getName(), groupSeq));
    }
View Full Code Here

                // if we are at the beginning or end of he defaultGroupSequence and the
                // matches are either directly before or after we can continue,
                // since we basically have two groups
                continue;
            }
            throw new GroupDefinitionException("Unable to expand default group list" +
                  defaultGroupList + " into sequence " + groupList);
        }
    }
View Full Code Here

    }

    private List<Group> resolveSequence(Class<?> group, GroupSequence sequenceAnnotation,
                                        Set<Class<?>> processedSequences) {
        if (processedSequences.contains(group)) {
            throw new GroupDefinitionException("Cyclic dependency in groups definition");
        } else {
            processedSequences.add(group);
        }
        List<Group> resolvedGroupSequence = new LinkedList<Group>();
        Class<?>[] sequenceArray = sequenceAnnotation.value();
View Full Code Here

      if ( group.getName().equals( beanClass.getName() ) ) {
        defaultGroupSequence.add( Default.class );
        groupSequenceContainsDefault = true;
      }
      else if ( group.getName().equals( Default.class.getName() ) ) {
        throw new GroupDefinitionException( "'Default.class' cannot appear in default group sequence list." );
      }
      else {
        defaultGroupSequence.add( group );
      }
    }
    if ( !groupSequenceContainsDefault ) {
      throw new GroupDefinitionException( beanClass.getName() + " must be part of the redefined default group sequence." );
    }
    if ( log.isTraceEnabled() ) {
      log.trace(
          "Members of the default group sequence for bean {} are: {}",
          beanClass.getName(),
View Full Code Here

  private <T> Set<ConstraintViolation<T>> validate(Set<Class<?>> previousGroups, T object, Class<?>... groups) {
    IReflector reflector = ReflectorFactory.INSTANCE.getReflector(object.getClass());
    Set<ConstraintViolation<T>> violations = new HashSet<ConstraintViolation<T>>();
    for(Class<?> group : reflector.getGroupSequence()) {
      if(previousGroups.contains(group)) {
        throw new GroupDefinitionException("The group sequence on " + object.getClass().getName() + " already contains " + group.getName() + ".  Definitions may not be cyclic or circular");
      }
     
      violations.addAll(this.coreValidator.validate(object, group));
      previousGroups.add(group);
     
View Full Code Here

TOP

Related Classes of javax.validation.GroupDefinitionException

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.