View Javadoc
1   package com.atlassian.activeobjects.internal.config;
2   
3   import com.atlassian.activeobjects.ao.AtlassianTablePrefix;
4   import com.atlassian.activeobjects.internal.Prefix;
5   import net.java.ao.atlassian.AtlassianTableNameConverter;
6   import net.java.ao.builder.SimpleNameConverters;
7   import net.java.ao.schema.FieldNameConverter;
8   import net.java.ao.schema.IndexNameConverter;
9   import net.java.ao.schema.NameConverters;
10  import net.java.ao.schema.SequenceNameConverter;
11  import net.java.ao.schema.TriggerNameConverter;
12  import net.java.ao.schema.UniqueNameConverter;
13  
14  import static com.google.common.base.Preconditions.checkNotNull;
15  
16  public final class ActiveObjectsNameConvertersFactory implements NameConvertersFactory {
17      private final FieldNameConverter fieldNameConverter;
18      private final SequenceNameConverter sequenceNameConverter;
19      private final TriggerNameConverter triggerNameConverter;
20      private final IndexNameConverter indexNameConverter;
21      private final UniqueNameConverter uniqueNameConverter;
22  
23      public ActiveObjectsNameConvertersFactory(FieldNameConverter fieldNameConverter, SequenceNameConverter sequenceNameConverter,
24                                                TriggerNameConverter triggerNameConverter, IndexNameConverter indexNameConverter,
25                                                UniqueNameConverter uniqueNameConverter) {
26          this.fieldNameConverter = checkNotNull(fieldNameConverter);
27          this.sequenceNameConverter = checkNotNull(sequenceNameConverter);
28          this.triggerNameConverter = checkNotNull(triggerNameConverter);
29          this.indexNameConverter = checkNotNull(indexNameConverter);
30          this.uniqueNameConverter = checkNotNull(uniqueNameConverter);
31      }
32  
33      @Override
34      public NameConverters getNameConverters(Prefix prefix) {
35          return new SimpleNameConverters(
36                  new AtlassianTableNameConverter(new AtlassianTablePrefix(prefix)),
37                  fieldNameConverter,
38                  sequenceNameConverter,
39                  triggerNameConverter,
40                  indexNameConverter,
41                  uniqueNameConverter
42          );
43      }
44  }