Skip to content

Package: CreateSetterForSymmetricAttributeTransformer

CreateSetterForSymmetricAttributeTransformer

nameinstructionbranchcomplexitylinemethod
CreateSetterForSymmetricAttributeTransformer(Model, TaskExecutor)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
beginTask()
M: 1 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
createRemove(String)
M: 43 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 7 C: 0
0%
M: 1 C: 0
0%
finalizeTask()
M: 1 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
handleType(Type)
M: 1 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%

Coverage

1: package de.fhdw.wtf.generator.transformer.transformers.classTransformer;
2:
3: import java.util.Vector;
4:
5: import de.fhdw.wtf.common.ast.Model;
6: import de.fhdw.wtf.common.ast.type.Type;
7: import de.fhdw.wtf.common.exception.walker.TaskException;
8: import de.fhdw.wtf.common.task.TaskExecutor;
9: import de.fhdw.wtf.generator.java.generatorModel.GenComment;
10: import de.fhdw.wtf.generator.java.generatorModel.GenException;
11: import de.fhdw.wtf.generator.java.generatorModel.GenJavaOperation;
12: import de.fhdw.wtf.generator.java.generatorModel.GenOperationModifier;
13: import de.fhdw.wtf.generator.java.generatorModel.GenParameter;
14: import de.fhdw.wtf.generator.java.generatorModel.GenTypeReferenceByName;
15: import de.fhdw.wtf.generator.java.generatorModel.GenVisibility;
16: import de.fhdw.wtf.walker.walker.SimpleWalkerTaskForTypes;
17:
18: public class CreateSetterForSymmetricAttributeTransformer extends SimpleWalkerTaskForTypes {
19:         
20:         public CreateSetterForSymmetricAttributeTransformer(final Model m, final TaskExecutor taskmanager) {
21:                 super(m, taskmanager);
22:                 // TODO Auto-generated constructor stub
23:         }
24:         
25:         /**
26:          * removes in the given class his symmetrical partner.
27:          *
28:          * @param name
29:          * @return
30:          */
31:         private GenJavaOperation createRemove(final String name) {
32:                 final Vector<GenOperationModifier> getInstanceModifiers = new Vector<>();
33:                 getInstanceModifiers.add(GenOperationModifier.STATIC);
34:                 
35:                 final Vector<GenParameter> genParameterVector = new Vector<>();
36:                 final GenParameter genParameter = GenParameter.create("symmetricalOther", GenTypeReferenceByName.create(name));
37:                 genParameterVector.add(genParameter);
38:                 
39:                 final GenJavaOperation result =
40:                                 GenJavaOperation.create(
41:                                                 "remove" + name,
42:                                                 GenVisibility.PRIVATE,
43:                                                 genParameterVector,
44:                                                 new Vector<GenException>(),
45:                                                 "TODO not implemented yet.", // TODO muss noch implementiert werden
46:                                                 null,
47:                                                 getInstanceModifiers,
48:                                                 GenComment.create("TODO"));
49:                 return result;
50:                 
51:         }
52:         
53:         /**
54:          * creates in the given class a set-method, that sets the symmetrical relationship.
55:          *
56:          * @param name
57:          * name of the symmetrical other class
58:          * @return a GenJavaOperation, a set-method.
59:          */
60:         // private Attribute createSet() {
61:         // final String name;
62:         // final Vector<GenOperationModifier> getInstanceModifiers = new Vector<>();
63:         // getInstanceModifiers.add(GenOperationModifier.STATIC);
64:         //
65:         // final Vector<GenParameter> genParameterVector = new Vector<>();
66:         // final GenParameter genParameter = GenParameter.create("symmetricalOther", GenTypeReferenceByName.create(name));
67:         // genParameterVector.add(genParameter);
68:         //
69:         // final GenJavaOperation result =
70:         // GenJavaOperation.create(
71:         // "set" + name,
72:         // GenVisibility.PRIVATE,
73:         // genParameterVector,
74:         // new Vector<GenException>(),
75:         // "this." + name + "=symmetricalOther;", // TODO J geht noch weiter
76:         // null,
77:         // getInstanceModifiers,
78:         // GenComment.create("This is the private set of the symmetricalOther parameter."));
79:         // return result;
80:         //
81:         // }
82:         
83:         /**
84:          * creates the 'set'-methods in a class for each symmetric parameter.
85:          */
86:         // private void createSet(final String s, final GenType g) {
87:         // final GenType symmetricRelationAccessClass = null;
88:         // final Vector<GenParameter> genParameterVector = new Vector<>();
89:         // final GenParameter genParameter = GenParameter.create("symmetricalOther", g);
90:         // genParameterVector.add(genParameter);
91:         // final GenJavaOperation setOperation =
92:         // GenJavaOperation.create(
93:         // "set" + s,
94:         // GenVisibility.PRIVATE,
95:         // genParameterVector,
96:         // new Vector<GenException>(),
97:         // "this." + s + "=symmetricalOther;", // TODO geht noch weiter
98:         // symmetricRelationAccessClass,
99:         // new Vector<GenOperationModifier>(),
100:         // GenComment.create(""));
101:         // cc.addOperation(setOperation);
102:         // }
103:         
104:         // @Override
105:         @Override
106:         public void handleType(final Type c) throws TaskException {
107:                 // if (c instanceof ClassType) {
108:                 // final Collection<Attribute> attributes = ((ClassType) c).getAttributes();
109:                 // final Iterator<Attribute> i = attributes.iterator();
110:                 // while (i.hasNext()) {
111:                 // final Attribute current = i.next();
112:                 // if (current.isSymmetric()) {
113:                 // this.createSet(current.getName(), c);}
114:                 // }
115:                 // }
116:                 //
117:                 // }
118:         }
119:         
120:         @Override
121:         public void beginTask() throws TaskException {
122:                 // TODO Auto-generated method stub
123:                 
124:         }
125:         
126:         @Override
127:         public void finalizeTask() throws TaskException {
128:                 // TODO Auto-generated method stub
129:                 
130:         }
131: }