1 /*
2 * Copyright 2012-2025 CodeLibs Project and the Others.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13 * either express or implied. See the License for the specific language
14 * governing permissions and limitations under the License.
15 */
16 package org.codelibs.fess.app.web.admin.user;
17
18 import java.util.HashMap;
19 import java.util.Map;
20
21 import org.codelibs.fess.app.web.CrudMode;
22 import org.lastaflute.web.validation.Required;
23 import org.lastaflute.web.validation.theme.conversion.ValidateTypeFailure;
24
25 import jakarta.validation.constraints.Size;
26
27 /**
28 * The create form for User.
29 *
30 */
31 public class CreateForm {
32
33 /**
34 * Default constructor.
35 */
36 public CreateForm() {
37 // Empty constructor
38 }
39
40 /**
41 * The CRUD mode for the form.
42 */
43 @ValidateTypeFailure
44 public Integer crudMode;
45
46 /**
47 * The username of the user.
48 */
49 @Required
50 @Size(max = 100)
51 public String name;
52
53 /**
54 * The password for the user.
55 */
56 @Size(max = 100)
57 public String password;
58
59 /**
60 * The password confirmation field.
61 */
62 @Size(max = 100)
63 public String confirmPassword;
64
65 /**
66 * The attributes map for the user.
67 */
68 public Map<String, String> attributes = new HashMap<>();
69
70 /**
71 * The roles assigned to the user.
72 */
73 public String[] roles;
74
75 /**
76 * The groups assigned to the user.
77 */
78 public String[] groups;
79
80 /**
81 * Initializes the form with default values for creating a new user.
82 */
83 public void initialize() {
84 crudMode = CrudMode.CREATE;
85 }
86 }