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

org.nakedobjects.metamodel.facets.properties.validate.PropertyValidateDefaultFacetFactory Maven / Gradle / Ivy

The newest version!
package org.nakedobjects.metamodel.facets.properties.validate;

import java.lang.reflect.Method;

import org.nakedobjects.metamodel.facets.FacetFactory;
import org.nakedobjects.metamodel.facets.FacetFactoryAbstract;
import org.nakedobjects.metamodel.facets.FacetHolder;
import org.nakedobjects.metamodel.facets.FacetUtil;
import org.nakedobjects.metamodel.facets.MethodRemover;
import org.nakedobjects.metamodel.spec.feature.NakedObjectFeatureType;
import org.nakedobjects.metamodel.specloader.internal.facetprocessor.FacetProcessor;


/**
 * Simply installs a {@link PropertyValidateFacet} onto all properties.
 * 
 * 

* The idea is that this {@link FacetFactory} is included early on in the {@link FacetProcessor}, but * other {@link PropertyValidateFacet} implementations will potentially replace these where the property is * annotated or otherwise provides a validation mechanism. */ public class PropertyValidateDefaultFacetFactory extends FacetFactoryAbstract { public PropertyValidateDefaultFacetFactory() { super(NakedObjectFeatureType.PROPERTIES_ONLY); } @Override public boolean process(final Method method, final MethodRemover methodRemover, final FacetHolder holder) { return FacetUtil.addFacet(create(holder)); } @Override public boolean processParams(final Method method, final int paramNum, final FacetHolder holder) { return FacetUtil.addFacet(create(holder)); } private PropertyValidateFacet create(final FacetHolder holder) { return new PropertyValidateFacetDefault(holder); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy