예제 #1
0
 private static void buildGetAssociationClassForPropertyInstance(
     OJAnnotatedClass owner, PropertyWrapper propertyWrapper) {
   OJAnnotatedOperation getAC =
       new OJAnnotatedOperation(
           propertyWrapper.associationClassGetterForProperty(),
           propertyWrapper.getAssociationClassPathName());
   getAC.addParam(propertyWrapper.fieldname(), propertyWrapper.javaBaseTypePath());
   OJForStatement forAC =
       new OJForStatement(
           "ac",
           propertyWrapper.getAssociationClassPathName(),
           "this." + propertyWrapper.getAssociationClassFakePropertyName());
   OJIfStatement ifStatement =
       new OJIfStatement(
           "ac." + propertyWrapper.getter() + "().equals(" + propertyWrapper.fieldname() + ")",
           "return ac");
   forAC.getBody().addToStatements(ifStatement);
   getAC.getBody().addToStatements(forAC);
   getAC.getBody().addToStatements("return null");
   owner.addToOperations(getAC);
 }