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 public PasswordPolicyContainer( LdapApiService codec )
41 {
42 super();
43 control = new PasswordPolicyDecorator( codec, new PasswordPolicyImpl() );
44 grammar = PasswordPolicyGrammar.getInstance();
45 setTransition( PasswordPolicyStates.START_STATE );
46 }
47
48
49 public PasswordPolicyContainer( LdapApiService codec, PasswordPolicy ppolicyResponse )
50 {
51 super();
52
53 if ( ppolicyResponse instanceof PasswordPolicyDecorator )
54 {
55 this.control = ( PasswordPolicyDecorator ) ppolicyResponse;
56 }
57 else
58 {
59 control = new PasswordPolicyDecorator( codec, ppolicyResponse );
60 }
61
62 grammar = PasswordPolicyGrammar.getInstance();
63 setTransition( PasswordPolicyStates.START_STATE );
64 }
65
66
67 public PasswordPolicyDecorator getPasswordPolicyResponseControl()
68 {
69 return control;
70 }
71
72
73 public void setPasswordPolicyResponseControl( PasswordPolicyDecorator control )
74 {
75 this.control = control;
76 }
77
78
79
80
81
82 @Override
83 public void clean()
84 {
85 super.clean();
86 control = null;
87 }
88
89 }