View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.syncope.core.spring.policy;
20  
21  import java.util.regex.Pattern;
22  
23  public final class PolicyPattern {
24  
25      public static final Pattern DIGIT = Pattern.compile(".*\\d+.*");
26  
27      public static final Pattern ALPHA_LOWERCASE = Pattern.compile(".*[a-z]+.*");
28  
29      public static final Pattern ALPHA_UPPERCASE = Pattern.compile(".*[A-Z]+.*");
30  
31      public static final Pattern FIRST_DIGIT = Pattern.compile("\\d.*");
32  
33      public static final Pattern LAST_DIGIT = Pattern.compile(".*\\d");
34  
35      public static final Pattern ALPHANUMERIC = Pattern.compile(".*\\w.*");
36  
37      public static final Pattern FIRST_ALPHANUMERIC = Pattern.compile("\\w.*");
38  
39      public static final Pattern LAST_ALPHANUMERIC = Pattern.compile(".*\\w");
40  
41      public static final Pattern NON_ALPHANUMERIC =
42              Pattern.compile(".*[~!@#£$%^&*_\\-`(){}\\[\\]:;\"'<>,.?/\\=\\+\\\\\\|].*");
43  
44      public static final Pattern FIRST_NON_ALPHANUMERIC =
45              Pattern.compile("[~!@#£$%^&*_\\-`(){}\\[\\]:;\"'<>,.?/\\=\\+\\\\\\|].*");
46  
47      public static final Pattern LAST_NON_ALPHANUMERIC =
48              Pattern.compile(".*[~!@#£$%^&*_\\-`(){}\\[\\]:;\"'<>,.?/\\=\\+\\\\\\|]");
49  
50      public static final char[] NON_ALPHANUMERIC_CHARS_FOR_PASSWORD_VALUES = {
51          '!', '£', '%', '&', '(', ')', '?', '#', '$' };
52  
53      private PolicyPattern() {
54          // private constructor for static utility class
55      }
56  }