2016-05-26 13 views
-2

値が存在するかどうかをチェックし、それを新しいオブジェクトに割り当てるif文をどのようにリファクタリングしますか?あなたはこのようなオブジェクトのプロパティを繰り返し処理することができますGroovy/Java:最適化/リファクタリングIf文

Domain myMethod(DomainOld param) { 

    Domain domain = new Domain() 

    if (param.id) { 
     domain.id = param.id 
    } 

    if (param.name) { 
     domain.name = param.name 
    } 

    if (param.status) { 
     domain.status = param.status 
    } 

    if (param.value) { 
     domain.value = param.value 
    } 

    domain.save() 

    return domain 
} 
+1

あなたが直接ドメインに値を設定することができ、例えばとして 'param.id'は、そのデフォルト値はfalseなどの設定になりますブールです'domain.id'のデフォルト値はfalseです。 – Vishrant

答えて

1

Domain myMethod(DomainOld param) { 

    Domain domain = new Domain() 

    param.properties.each { property, value -> 
     if (value) { 
      domain[property] = value 
     } 
    } 

    domain.save() 

    return domain 
} 
関連する問題