001    /*******************************************************************************
002     * Portions created by Sebastian Thomschke are copyright (c) 2005-2011 Sebastian
003     * Thomschke.
004     * 
005     * All Rights Reserved. This program and the accompanying materials
006     * are made available under the terms of the Eclipse Public License v1.0
007     * which accompanies this distribution, and is available at
008     * http://www.eclipse.org/legal/epl-v10.html
009     * 
010     * Contributors:
011     *     Sebastian Thomschke - initial implementation.
012     *******************************************************************************/
013    package net.sf.oval.configuration.pojo;
014    
015    import java.io.Serializable;
016    import java.util.Set;
017    
018    import net.sf.oval.configuration.Configurer;
019    import net.sf.oval.configuration.pojo.elements.ClassConfiguration;
020    import net.sf.oval.configuration.pojo.elements.ConstraintSetConfiguration;
021    
022    /**
023     * @author Sebastian Thomschke
024     */
025    public class POJOConfigurer implements Configurer, Serializable
026    {
027            private static final long serialVersionUID = 1L;
028    
029            protected Set<ClassConfiguration> classConfigurations;
030            protected Set<ConstraintSetConfiguration> constraintSetConfigurations;
031    
032            /**
033             * {@inheritDoc}
034             */
035            public ClassConfiguration getClassConfiguration(final Class< ? > clazz)
036            {
037                    if (classConfigurations != null)
038                    {
039                            for (final ClassConfiguration classConfig : classConfigurations)
040                            {
041                                    if (classConfig.type == clazz) return classConfig;
042                            }
043                    }
044                    return null;
045            }
046    
047            /**
048             * @return the classConfigurations
049             */
050            public Set<ClassConfiguration> getClassConfigurations()
051            {
052                    return classConfigurations;
053            }
054    
055            /**
056             * {@inheritDoc}
057             */
058            public ConstraintSetConfiguration getConstraintSetConfiguration(final String constraintSetId)
059            {
060                    if (constraintSetConfigurations == null) return null;
061    
062                    for (final ConstraintSetConfiguration csc : constraintSetConfigurations)
063                    {
064                            if (constraintSetId.equals(csc.id)) return csc;
065                    }
066                    return null;
067            }
068    
069            /**
070             * @return the constraintSetConfigurations
071             */
072            public Set<ConstraintSetConfiguration> getConstraintSetConfigurations()
073            {
074                    return constraintSetConfigurations;
075            }
076    
077            /**
078             * @param classConfigurations the classConfigurations to set
079             */
080            public void setClassConfigurations(final Set<ClassConfiguration> classConfigurations)
081            {
082                    this.classConfigurations = classConfigurations;
083            }
084    
085            /**
086             * @param constraintSetConfigurations the constraintSetConfigurations to set
087             */
088            public void setConstraintSetConfigurations(final Set<ConstraintSetConfiguration> constraintSetConfigurations)
089            {
090                    this.constraintSetConfigurations = constraintSetConfigurations;
091            }
092    }