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 }