All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mongodb.morphia.mapping.validation.classrules.EmbeddedAndValue Maven / Gradle / Ivy

The newest version!
package org.mongodb.morphia.mapping.validation.classrules;


import org.mongodb.morphia.annotations.Embedded;
import org.mongodb.morphia.mapping.MappedClass;
import org.mongodb.morphia.mapping.Mapper;
import org.mongodb.morphia.mapping.validation.ClassConstraint;
import org.mongodb.morphia.mapping.validation.ConstraintViolation;
import org.mongodb.morphia.mapping.validation.ConstraintViolation.Level;

import java.util.Set;


/**
 * @author Uwe Schaefer, ([email protected])
 */
public class EmbeddedAndValue implements ClassConstraint {

    @Override
    public void check(final Mapper mapper, final MappedClass mc, final Set ve) {

        if (mc.getEmbeddedAnnotation() != null && !mc.getEmbeddedAnnotation().value().equals(Mapper.IGNORED_FIELDNAME)) {
            ve.add(new ConstraintViolation(Level.FATAL, mc, getClass(),
                                           "@" + Embedded.class.getSimpleName()
                                           + " classes cannot specify a fieldName value(); this is on applicable on fields"));
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy