Package org.mongodb.morphia.mapping.validation.fieldrules

Source Code of org.mongodb.morphia.mapping.validation.fieldrules.LazyReferenceMissingDependencies

package org.mongodb.morphia.mapping.validation.fieldrules;


import java.util.Set;

import org.mongodb.morphia.annotations.Reference;
import org.mongodb.morphia.mapping.MappedClass;
import org.mongodb.morphia.mapping.MappedField;
import org.mongodb.morphia.mapping.lazy.LazyFeatureDependencies;
import org.mongodb.morphia.mapping.validation.ConstraintViolation;
import org.mongodb.morphia.mapping.validation.ConstraintViolation.Level;


/**
* @author Uwe Schaefer, (us@thomas-daily.de)
*/
public class LazyReferenceMissingDependencies extends FieldConstraint {

  @Override
  protected void check(final MappedClass mc, final MappedField mf, final Set<ConstraintViolation> ve) {
    final Reference ref = mf.getAnnotation(Reference.class);
    if (ref != null) {
      if (ref.lazy()) {
        if (!LazyFeatureDependencies.testDependencyFullFilled()) {
          ve.add(new ConstraintViolation(Level.SEVERE, mc, mf, getClass(),
            "Lazy references need CGLib and Proxytoys in the classpath."));
        }
      }
    }
  }

}
TOP

Related Classes of org.mongodb.morphia.mapping.validation.fieldrules.LazyReferenceMissingDependencies

TOP
Copyright © 2018 www.massapi.com. 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.