1 package com.atlassian.plugins.codegen;
2
3 import static com.google.common.base.Preconditions.checkNotNull;
4
5
6
7
8 public class SourceFile implements PluginProjectChange
9 {
10
11
12
13 public enum SourceGroup
14 {
15 MAIN,
16 TESTS
17 };
18
19 private final ClassId classId;
20 private final SourceGroup sourceGroup;
21 private final String content;
22
23 public static SourceFile sourceFile(ClassId classId, SourceGroup sourceGroup, String content)
24 {
25 return new SourceFile(classId, sourceGroup, content);
26 }
27
28 private SourceFile(ClassId classId, SourceGroup sourceGroup, String content)
29 {
30 this.classId = checkNotNull(classId, "classId");
31 this.sourceGroup = checkNotNull(sourceGroup, "sourceGroup");
32 this.content = checkNotNull(content, "content");
33 }
34
35 public ClassId getClassId()
36 {
37 return classId;
38 }
39
40 public SourceGroup getSourceGroup()
41 {
42 return sourceGroup;
43 }
44
45 public String getContent()
46 {
47 return content;
48 }
49
50 @Override
51 public String toString()
52 {
53 return "[class: " + classId + "]";
54 }
55 }