1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.api.ldap.extras.controls.ppolicy_impl;
22
23
24 import org.apache.directory.api.asn1.ber.AbstractContainer;
25 import org.apache.directory.api.ldap.codec.api.LdapApiService;
26 import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicy;
27 import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyImpl;
28
29
30
31
32
33
34
35 public class PasswordPolicyContainer extends AbstractContainer
36 {
37 private PasswordPolicyDecorator control;
38
39
40
41
42
43
44
45 public PasswordPolicyContainer( LdapApiService codec )
46 {
47 super();
48 control = new PasswordPolicyDecorator( codec, new PasswordPolicyImpl() );
49 setGrammar( PasswordPolicyGrammar.getInstance() );
50 setTransition( PasswordPolicyStates.START_STATE );
51 }
52
53
54
55
56
57
58
59
60 public PasswordPolicyContainer( LdapApiService codec, PasswordPolicy ppolicyResponse )
61 {
62 super();
63
64 if ( ppolicyResponse instanceof PasswordPolicyDecorator )
65 {
66 this.control = ( PasswordPolicyDecorator ) ppolicyResponse;
67 }
68 else
69 {
70 control = new PasswordPolicyDecorator( codec, ppolicyResponse );
71 }
72
73 setGrammar( PasswordPolicyGrammar.getInstance() );
74 setTransition( PasswordPolicyStates.START_STATE );
75 }
76
77
78
79
80
81 public PasswordPolicyDecorator getPasswordPolicyResponseControl()
82 {
83 return control;
84 }
85
86
87
88
89
90
91
92 public void setPasswordPolicyResponseControl( PasswordPolicyDecorator control )
93 {
94 this.control = control;
95 }
96
97
98
99
100
101 @Override
102 public void clean()
103 {
104 super.clean();
105 control = null;
106 }
107
108 }