본문 바로가기

Develop/TIL

[Apex] Set에 값이 있는지 확인

반응형

Set을 이용하여 불필요하게 길어지는 코드 방지

컨트롤러에서 프로필 별 권한을 부여 해야 할 때 사용하게 되었다. 

 

Before

@AuraEnabled
@RemoteAction
public static Boolean getIsUser(){
    Boolean isUser = false;

    String profileId = UserInfo.getProfileId();
    String profileName = [SELECT Id, Name FROM Profile WHERE Id = :profileId].Name;

   if(profileName == 'profileName1' || profileName == 'profileName2' || profileName == 'profileName3'){
          User = true;
    }

    return isUser; 
}

 

After

@AuraEnabled
@RemoteAction
public static Boolean getIsUser(){
    Boolean isUser = false;

    String profileId = UserInfo.getProfileId();
    String profileName = [SELECT Id, Name FROM Profile WHERE Id = :profileId].Name;

    Set<String> prfileSet = new Set<String>{'profileName1', 'profileName2', 'profileName3'};

    if(prfileSet.contains(profileName)){
        isUser = true;
    }

    return isUser; 
}

*이렇게 수정한 이유는, 프로 필 권한 변경 시에도 편리하고, 많아질 경우 코드가 불필요하게 길어짐을 방지할 수 있다.

반응형