Package org.gwtoolbox.bean.rebind.validation.config

Source Code of org.gwtoolbox.bean.rebind.validation.config.BeanValidationConfig

package org.gwtoolbox.bean.rebind.validation.config;

import com.google.gwt.core.ext.typeinfo.JClassType;
import org.gwtoolbox.bean.client.validation.config.Groups;
import org.gwtoolbox.bean.client.validation.messages.ValidationMessages;

import java.util.*;

/**
* @author Uri Boness
*/
public class BeanValidationConfig {

    private Map<Class, Set<Class>> groupSetBySuperGroup = new HashMap<Class, Set<Class>>();

    private Class<? extends ValidationMessages> messagesClass;

    private String messagesClassHolderClassName;

    public void addConfiguration(JClassType configClass) {
        if (configClass.isAnnotationPresent(Groups.class)) {
            Groups groupClasses = configClass.getAnnotation(Groups.class);
            for (Class group : groupClasses.value()) {
                Set<Class> groupSet = new HashSet<Class>(Arrays.asList(group.getInterfaces()));
                groupSetBySuperGroup.put(group, groupSet);
            }
        }
    }

    public Set<Class> getGroupSet(Class superGroup) {
        return groupSetBySuperGroup.get(superGroup);
    }

    public Set<Class> getSuperGroups() {
        return groupSetBySuperGroup.keySet();
    }

    public void setMessagesClass(Class<? extends ValidationMessages> messagesClass) {
        this.messagesClass = messagesClass;
    }

    public Class<? extends ValidationMessages> getMessagesClass() {
        return messagesClass;
    }

    public Map<Class, Set<Class>> getGroupSetBySuperGroup() {
        return groupSetBySuperGroup;
    }

    public void setGroupSetBySuperGroup(Map<Class, Set<Class>> groupSetBySuperGroup) {
        this.groupSetBySuperGroup = groupSetBySuperGroup;
    }

    public String getMessagesClassHolderClassName() {
        return messagesClassHolderClassName;
    }

    public void setMessagesClassHolderClassName(String messagesClassHolderClassName) {
        this.messagesClassHolderClassName = messagesClassHolderClassName;
    }
}
TOP

Related Classes of org.gwtoolbox.bean.rebind.validation.config.BeanValidationConfig

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.