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 * Chris Pheby - inspectInterfaces 013 *******************************************************************************/ 014 package net.sf.oval.configuration.pojo.elements; 015 016 import java.util.Set; 017 018 /** 019 * @author Sebastian Thomschke 020 */ 021 public class ClassConfiguration extends ConfigurationElement 022 { 023 private static final long serialVersionUID = 1L; 024 025 /** 026 * class type 027 */ 028 public Class< ? > type; 029 030 /** 031 * object level constraints configuration 032 */ 033 public ObjectConfiguration objectConfiguration; 034 035 /** 036 * field constraints configuration 037 */ 038 public Set<FieldConfiguration> fieldConfigurations; 039 040 /** 041 * constructor constraints configuration 042 */ 043 public Set<ConstructorConfiguration> constructorConfigurations; 044 045 /** 046 * method constraints configuration 047 */ 048 public Set<MethodConfiguration> methodConfigurations; 049 050 /** 051 * Automatically apply field constraints to the corresponding parameters 052 * of constructors declared within the same class. A corresponding 053 * parameter is a parameter with the same name and type as the field. 054 */ 055 public Boolean applyFieldConstraintsToConstructors; 056 057 /** 058 * Automatically apply field constraints to the parameters of the 059 * corresponding setter methods declared within the same class. A 060 * corresponding setter method is a method following the JavaBean 061 * convention and its parameter has as the same type as the field. 062 */ 063 public Boolean applyFieldConstraintsToSetters; 064 065 /** 066 * Declares if parameter values of constructors and methods are expected to be not null. 067 * This can be weakened by using the @net.sf.oval.constraint.exclusion.Nullable annotation on specific parameters. 068 */ 069 public Boolean assertParametersNotNull; 070 071 /** 072 * Specifies if invariants are checked prior and after calls to 073 * non-private methods and constructors. 074 */ 075 public Boolean checkInvariants; 076 077 /** 078 * Specifies whether annotations can be applied to interfaces that this class implements, 079 * supporting a documentation function 080 */ 081 public Boolean inspectInterfaces; 082 }