1
7 package org.hibernate.validator.internal.engine.constraintvalidation;
8
9 import java.security.AccessController;
10 import java.security.PrivilegedAction;
11
12 import javax.validation.ConstraintValidator;
13 import javax.validation.ConstraintValidatorFactory;
14
15 import org.hibernate.validator.internal.util.privilegedactions.NewInstance;
16
17
23
24 public class ConstraintValidatorFactoryImpl implements ConstraintValidatorFactory {
25
26 @Override
27 public final <T extends ConstraintValidator<?, ?>> T getInstance(Class<T> key) {
28 return run( NewInstance.action( key, "ConstraintValidator" ) );
29 }
30
31 @Override
32 public void releaseInstance(ConstraintValidator<?, ?> instance) {
33
34 }
35
36
42 private <T> T run(PrivilegedAction<T> action) {
43 return System.getSecurityManager() != null ? AccessController.doPrivileged( action ) : action.run();
44 }
45 }
46