View Javadoc

1   /*
2    * Copyright [2007] [University Corporation for Advanced Internet Development, Inc.]
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, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package edu.internet2.middleware.shibboleth.common.config.attribute.resolver.attributeDefinition;
18  
19  import org.opensaml.util.storage.StorageService;
20  
21  import edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.TransientIdEntry;
22  import edu.internet2.middleware.shibboleth.common.attribute.resolver.provider.attributeDefinition.TransientIdAttributeDefinition;
23  
24  /**
25   * Spring factory bean producing {@link TransientIdAttributeDefinition}s.
26   */
27  public class TransientIdAttributeDefinitionFactoryBean extends BaseAttributeDefinitionFactoryBean {
28  
29      /** Store used to map transient identifier tokens to principal names. */
30      private StorageService<String, TransientIdEntry> identifierStore;
31  
32      /** {@inheritDoc} */
33      public Class getObjectType() {
34          return TransientIdAttributeDefinition.class;
35      }
36  
37      /**
38       * Gets the store used to map transient identifier tokens to principal names.
39       * 
40       * @return store used to map transient identifier tokens to principal names
41       */
42      public StorageService<String, TransientIdEntry> getIdentifierStore() {
43          return identifierStore;
44      }
45  
46      /**
47       * Sets the store used to map transient identifier tokens to principal names.
48       * 
49       * @param store store used to map transient identifier tokens to principal names
50       */
51      public void setIdentifierStore(StorageService<String, TransientIdEntry> store) {
52          identifierStore = store;
53      }
54  
55      /** {@inheritDoc} */
56      protected Object createInstance() throws Exception {
57          TransientIdAttributeDefinition definition = new TransientIdAttributeDefinition(getIdentifierStore());
58          populateAttributeDefinition(definition);
59  
60          return definition;
61      }
62  }