/* * Copyright 2012 Google Inc. Copyright 2016 Manfred Tremmel * * 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 de.knightsoftnet.validators.client.impl.metadata; import java.util.Arrays; import java.util.Collections; import java.util.List; import javax.validation.groups.Default; /** * Describes information about a bean which is used for validation purposes. */ public class BeanMetadata { private final Class<?> beanClass; private final List<Class<?>> defaultGroupSequence; private final boolean defaultGroupSequenceRedefined; /** * constructor. * * @param beanClass bean class to validate * @param defaultGroupSequence group class */ public BeanMetadata(final Class<?> beanClass, final Class<?>... defaultGroupSequence) { this.beanClass = beanClass; this.defaultGroupSequence = Collections.unmodifiableList(Arrays.asList(defaultGroupSequence)); this.defaultGroupSequenceRedefined = !(defaultGroupSequence.length == 1 && defaultGroupSequence[0].equals(Default.class)); } public boolean defaultGroupSequenceIsRedefined() { return this.defaultGroupSequenceRedefined; } public Class<?> getBeanClass() { return this.beanClass; } public List<Class<?>> getDefaultGroupSequence() { return this.defaultGroupSequence; } }