Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
  * JBoss, Home of Professional Open Source
  * Copyright 2011, Red Hat, Inc. and/or its affiliates, and individual contributors
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 package org.hibernate.validator.internal.metadata.aggregated;
 
 import java.util.List;
 import java.util.Set;
 
 
 import static org.hibernate.validator.internal.util.CollectionHelper.newHashSet;

Represents the constraint related meta data for a JavaBeans property. Abstracts from the concrete physical type of the underlying Java element(s) (fields or getter methods).

In order to provide a unified access to all JavaBeans constraints also class-level constraints are represented by this meta data type.

Identity is solely based on the property name, hence sets and similar collections of this type may only be created in the scope of one Java type.

Author(s):
Gunnar Morling
 
 public class PropertyMetaData extends AbstractConstraintMetaData {
 
 	private final Set<MembercascadingMembers;
 
 	private PropertyMetaData(String propertyNameClass<?> typeSet<MetaConstraint<?>> constraintsSet<MembercascadingMembers) {
 		super(
 				propertyName,
 				type,
 				constraints,
 				!cascadingMembers.isEmpty(),
 				!cascadingMembers.isEmpty() || !constraints.isEmpty()
 		);
 
 		this. = Collections.unmodifiableSetcascadingMembers );
 	}
 
 	public Set<MembergetCascadingMembers() {
 		return ;
 	}
 
 	public PropertyDescriptorImpl asDescriptor(boolean defaultGroupSequenceRedefinedList<Class<?>> defaultGroupSequence) {
 
 		return new PropertyDescriptorImpl(
 				getType(),
 				getName(),
 				defaultGroupSequenceRedefined,
 				defaultGroupSequence
 		);
 	}
 
 	public String toString() {
 
 		StringBuilder cascadingMembers = new StringBuilder();
 
 		for ( Member oneCascadingMember : this. ) {
 			cascadingMembers.appendoneCascadingMember.getName() );
 			cascadingMembers.append", " );
 		}
 
 		if ( cascadingMembers.length() > 0 ) {
 			cascadingMembers.subSequence( 0, cascadingMembers.length() - 2 );
 		}
 
		return "PropertyMetaData [type=" + getType().getSimpleName() + ", propertyName="
getName() + ", cascadingMembers=[" + cascadingMembers + "]]";
	}
	public int hashCode() {
		return super.hashCode();
	}
	public boolean equals(Object obj) {
		if ( this == obj ) {
			return true;
		}
		if ( !super.equalsobj ) ) {
			return false;
		}
		if ( getClass() != obj.getClass() ) {
			return false;
		}
		return true;
	}
	public static class Builder extends MetaDataBuilder {
		private final static EnumSet<ConstrainedElementKindSUPPORTED_ELEMENT_KINDS = EnumSet.of(
		);
		private final Class<?> beanClass;
		private final String propertyName;
		private final Class<?> propertyType;
		private final Set<MetaConstraint<?>> constraints = newHashSet();
		private final Set<MembercascadingMembers = newHashSet();
		public Builder(ConstrainedField constrainedFieldConstraintHelper constraintHelper) {
			superconstraintHelper );
			this. = constrainedField.getLocation().getBeanClass();
			this. = ReflectionHelper.getPropertyNameconstrainedField.getLocation().getMember() );
			this. = ( (FieldconstrainedField.getLocation().getMember() ).getType();
			addconstrainedField );
		}
		public Builder(ConstrainedType constrainedTypeConstraintHelper constraintHelper) {
			superconstraintHelper );
			this. = constrainedType.getLocation().getBeanClass();
			this. = null;
			this. = null;
			addconstrainedType );
		}
		public Builder(ConstrainedMethod constrainedMethodConstraintHelper constraintHelper) {
			superconstraintHelper );
			this. = constrainedMethod.getLocation().getBeanClass();
			this. = ReflectionHelper.getPropertyNameconstrainedMethod.getLocation().getMember() );
			this. = constrainedMethod.getLocation().getMember().getReturnType();
			addconstrainedMethod );
		}
		public boolean accepts(ConstrainedElement constrainedElement) {
			if ( !.containsconstrainedElement.getKind() ) ) {
				return false;
			}
			if ( constrainedElement.getKind() == . &&
					!( (ConstrainedMethodconstrainedElement ).isGetterMethod() ) {
				return false;
			}
			return equals(
					ReflectionHelper.getPropertyNameconstrainedElement.getLocation().getMember() ),
			);
		}
		public void add(ConstrainedElement constrainedElement) {
			.addAllconstrainedElement.getConstraints() );
			if ( constrainedElement.isCascading() ) {
				.addconstrainedElement.getLocation().getMember() );
			}
		}
		public PropertyMetaData build() {
			return new PropertyMetaData(
			);
		}
		private boolean equals(String s1String s2) {
			return ( s1 != null && s1.equalss2 ) ) || ( s1 == null && s2 == null );
		}
	}
New to GrepCode? Check out our FAQ X