Skip to content

Package: Package

Package

nameinstructionbranchcomplexitylinemethod
Package(RouterSoftware, String)
M: 0 C: 29
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
Package(RouterSoftware, String, TypeFile, DefinitionFile, Map, PackageDescriptionFile)
M: 0 C: 21
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 8
100%
M: 0 C: 1
100%
equals(Object)
M: 0 C: 49
100%
M: 2 C: 12
86%
M: 2 C: 6
75%
M: 0 C: 7
100%
M: 0 C: 1
100%
getDefFile()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getName()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getOpts()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getPackageDescriptionFile()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getRouterSoftware()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getTypeFile()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
hashCode()
M: 0 C: 20
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setDefFile(DefinitionFile)
M: 41 C: 9
18%
M: 3 C: 1
25%
M: 2 C: 1
33%
M: 6 C: 3
33%
M: 0 C: 1
100%
setOpts(Map)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setPackageDescriptionFile(PackageDescriptionFile)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
setTypeFile(TypeFile)
M: 0 C: 4
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 2
100%
M: 0 C: 1
100%
toString()
M: 0 C: 30
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: package model;
2:
3: import java.util.HashMap;
4: import java.util.Map;
5:
6: import basic.ModelConstants;
7: import model.definition.AbstractVariableDefinition;
8: import model.definition.DefinitionFile;
9: import model.definition.HasDefault;
10: import model.definition.HasnotOpt;
11: import model.definition.Opt;
12: import model.definition.VariableDefinitionSingle;
13: import model.packages.PackageDescriptionFile;
14: import model.type.AbstractVariableType;
15: import model.type.TypeFile;
16: import scanner.ScannerConstants;
17:
18: /**
19: * Represents a Package, for example the base package of fli4l.
20: *
21: * @author HFW410RA - Philipp Rammos
22: *
23: */
24: public class Package {
25:
26:         /**
27:          * The RouterSoftware this package belongs to.
28:          */
29:         private final RouterSoftware rs;
30:         /**
31:          * Represents the name of the package.
32:          */
33:         private final String name;
34:         /**
35:          * The type file that is associated by the package.
36:          */
37:         private TypeFile typeFile;
38:         /**
39:          * The definition file that is associated by the package.
40:          */
41:         private DefinitionFile defFile;
42:         /**
43:          * The opts that are associated by the package.
44:          */
45:         private Map<String, Opt> opts;
46:         /**
47:          * This packageDescriptionFile that is associated by the package.
48:          */
49:         private PackageDescriptionFile packageDescFile;
50:
51:         /**
52:          * Default constructor.
53:          *
54:          * @param rs
55:          * The {@link RouterSoftware} to use.
56:          * @param name
57:          * The package name.
58:          */
59:         public Package(final RouterSoftware rs, final String name) {
60:                 this.rs = rs;
61:                 this.name = name;
62:                 this.typeFile = new TypeFile();
63:                 this.defFile = new DefinitionFile();
64:                 this.opts = new HashMap<String, Opt>();
65:                 this.packageDescFile = new PackageDescriptionFile();
66:         }
67:
68:         /**
69:          * Constructor, just sets fields. No side effect.
70:          *
71:          * @param rs
72:          * The {@link RouterSoftware} to use.
73:          * @param name
74:          * The name to set
75:          * @param typeFile
76:          * the type file to set
77:          * @param defFile
78:          * the definition file to set
79:          * @param opts2
80:          * the opts to set
81:          * @param packageDescFile
82:          * to set the packageDescriptionFile
83:          */
84:         public Package(final RouterSoftware rs, final String name, final TypeFile typeFile,
85:                         final DefinitionFile defFile, final Map<String, Opt> opts2,
86:                         final PackageDescriptionFile packageDescFile) {
87:                 this.rs = rs;
88:                 this.name = name;
89:                 this.typeFile = typeFile;
90:                 this.defFile = defFile;
91:                 this.opts = opts2;
92:                 this.packageDescFile = packageDescFile;
93:         }
94:
95:         @Override
96:         public boolean equals(final Object obj) {
97:•                return obj instanceof Package
98:•                                && ((Package) obj).getRouterSoftware().equals(this.getRouterSoftware())
99:•                                && ((Package) obj).getName().equals(this.getName())
100:•                                && ((Package) obj).getTypeFile().equals(this.getTypeFile())
101:•                                && ((Package) obj).getDefFile().equals(this.getDefFile())
102:•                                && ((Package) obj).getOpts().equals(this.getOpts()) && ((Package) obj)
103:•                                                .getPackageDescriptionFile().equals(this.getPackageDescriptionFile());
104:         }
105:
106:         @Override
107:         public int hashCode() {
108:                 return this.name.hashCode() + this.getTypeFile().hashCode() + this.getDefFile().hashCode()
109:                                 + this.getOpts().hashCode() + this.getPackageDescriptionFile().hashCode();
110:         }
111:
112:         @Override
113:         public String toString() {
114:                 return ModelConstants.PACKAGE + this.name + ScannerConstants.COMMASPACE + this.defFile
115:                                 + ScannerConstants.COMMASPACE + this.opts + ScannerConstants.COMMASPACE
116:                                 + this.typeFile + ScannerConstants.COMMASPACE + this.packageDescFile;
117:         }
118:
119:         /**
120:          * @return the associated RouterSoftware
121:          */
122:         public RouterSoftware getRouterSoftware() {
123:                 return this.rs;
124:         }
125:
126:         /**
127:          * Returns the field name. No side effects.
128:          *
129:          * @return this.name
130:          */
131:         public String getName() {
132:                 return this.name;
133:         }
134:
135:         /**
136:          * Returns the field typeFile. No side effects.
137:          *
138:          * @return this.typeFile
139:          */
140:         public TypeFile getTypeFile() {
141:                 return this.typeFile;
142:         }
143:
144:         /**
145:          * Sets the associated type file.
146:          *
147:          * @param typeFile
148:          * The type file to set.
149:          */
150:         public void setTypeFile(final TypeFile typeFile) {
151:                 this.typeFile = typeFile;
152:         }
153:
154:         /**
155:          * Returns the field defFile. No side effects.
156:          *
157:          * @return this.defFile
158:          */
159:         public DefinitionFile getDefFile() {
160:                 return this.defFile;
161:         }
162:
163:         /**
164:          * Sets the associated definition file.
165:          *
166:          * @param defFile
167:          * The type file to set.
168:          */
169:         public void setDefFile(final DefinitionFile defFile) {
170:                 this.defFile = defFile;
171:•                if (this.name.equals("base")) {
172:                         final AbstractVariableType yesnoType = this.getTypeFile().getTypes().get("YESNO");
173:•                        if (yesnoType != null) {
174:                                 final String optBaseName = "OPT_BASE";
175:                                 final AbstractVariableDefinition optBaseVar =
176:                                                 new VariableDefinitionSingle(optBaseName, yesnoType, false, false,
177:                                                                 new HasDefault("yes"), new HasnotOpt(), new Position(0, 0, ""));
178:                                 this.defFile.getDefinitions().put(optBaseName, optBaseVar);
179:                         }
180:                 }
181:         }
182:
183:         /**
184:          * Returns the field opts. No side effects.
185:          *
186:          * @return this.opts
187:          */
188:         public Map<String, Opt> getOpts() {
189:                 return this.opts;
190:         }
191:
192:         /**
193:          * Sets the associated OPTs.
194:          *
195:          * @param opts
196:          * The OPTs to set.
197:          */
198:         public void setOpts(final Map<String, Opt> opts) {
199:                 this.opts = opts;
200:         }
201:
202:         /**
203:          * @return the packageDescriptionFile
204:          */
205:         public PackageDescriptionFile getPackageDescriptionFile() {
206:                 return this.packageDescFile;
207:         }
208:
209:         /**
210:          * Sets the associated package description file.
211:          *
212:          * @param newPackageDescFile
213:          * The package description file to set.
214:          */
215:         public void setPackageDescriptionFile(final PackageDescriptionFile newPackageDescFile) {
216:                 this.packageDescFile = newPackageDescFile;
217:         }
218:
219: }