Author: tchemit Date: 2010-03-20 18:23:36 +0100 (Sat, 20 Mar 2010) New Revision: 1798 Log: add validatorsMap + improve BeanValidatorDetector code Added: trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/ValidatorsMap.java Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/BeanValidatorDetector.java Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/BeanValidatorDetector.java =================================================================== --- trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/BeanValidatorDetector.java 2010-03-19 17:53:26 UTC (rev 1797) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/BeanValidatorDetector.java 2010-03-20 17:23:36 UTC (rev 1798) @@ -299,7 +299,7 @@ public ValidatorFilenameFilter(Class<?> clazz) { this.clazz = clazz; - this.prefix = clazz.getSimpleName() + "-"; + prefix = clazz.getSimpleName() + "-"; } @Override Added: trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/ValidatorsMap.java =================================================================== --- trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/ValidatorsMap.java (rev 0) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/ValidatorsMap.java 2010-03-20 17:23:36 UTC (rev 1798) @@ -0,0 +1,119 @@ +/* + * *##% + * ObServe :: Services + * Copyright (C) 2008 - 2010 IRD, Codelutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * ##%* + */ + +package jaxx.runtime.validator; + +import java.util.*; + +/** + * Un dictionnaire de validateurs ordonnees par le type de leur bean. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.0.1 + */ +public class ValidatorsMap implements Map<Class<?>, BeanValidator<?>> { + + protected final Map<Class<?>, BeanValidator<?>> delegate; + + public ValidatorsMap() { + delegate = new HashMap<Class<?>, BeanValidator<?>>(); + } + + public BeanValidatorScope[] getScopes() { + EnumSet<BeanValidatorScope> result = + EnumSet.noneOf(BeanValidatorScope.class); + for (BeanValidator<?> b : values()) { + result.addAll(b.getScopes()); + } + return result.toArray(new BeanValidatorScope[result.size()]); + } + +// public <X> BeanValidator<X> getValidator(X klass) { +// BeanValidator<X> beanValidator = (BeanValidator<X>) get(klass.getClass()); +// return beanValidator; +// } + + public <X> BeanValidator<X> getValidator(Class<X> klass) { + BeanValidator<X> beanValidator = (BeanValidator<X>) get(klass); + return beanValidator; + } + + @Override + public int size() { + return delegate.size(); + } + + @Override + public boolean isEmpty() { + return delegate.isEmpty(); + } + + @Override + public boolean containsKey(Object key) { + return delegate.containsKey(key); + } + + @Override + public boolean containsValue(Object value) { + return delegate.containsValue(value); + } + + @Override + public BeanValidator<?> get(Object key) { + return delegate.get(key); + } + + @Override + public BeanValidator<?> put(Class<?> key, BeanValidator<?> value) { + return delegate.put(key, value); + } + + @Override + public BeanValidator<?> remove(Object key) { + return delegate.remove(key); + } + + @Override + public void putAll(Map<? extends Class<?>, ? extends BeanValidator<?>> m) { + delegate.putAll(m); + } + + @Override + public void clear() { + delegate.clear(); + } + + @Override + public Set<Class<?>> keySet() { + return delegate.keySet(); + } + + @Override + public Collection<BeanValidator<?>> values() { + return delegate.values(); + } + + @Override + public Set<Entry<Class<?>, BeanValidator<?>>> entrySet() { + return delegate.entrySet(); + } + +} Property changes on: trunk/jaxx-runtime/src/main/java/jaxx/runtime/validator/ValidatorsMap.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL