/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.security.user; import com.enonic.cms.api.plugin.ext.userstore.UserStoreConfig; import com.enonic.cms.api.plugin.ext.userstore.UserFieldType; import com.enonic.cms.api.plugin.ext.userstore.UserFields; /** * Created by rmy - Date: Sep 18, 2009 */ public class AbstractUserPropertyResolver { protected final UserStoreConfig userStoreConfig; protected String prefix = ""; protected String suffix = ""; protected String initials = ""; protected String firstName = ""; protected String middleName = ""; protected String lastName = ""; protected String nickName = ""; protected String displayName; protected String userName; AbstractUserPropertyResolver( UserStoreConfig userStoreConfig ) { this.userStoreConfig = userStoreConfig; } protected void setUserInfoFields( UserFields userFields ) { if ( isUserFieldActive( UserFieldType.PREFIX ) ) { this.prefix = userFields.getPrefix(); } if ( isUserFieldActive( UserFieldType.FIRST_NAME ) ) { this.firstName = userFields.getFirstName(); } if ( isUserFieldActive( UserFieldType.MIDDLE_NAME ) ) { this.middleName = userFields.getMiddleName(); } if ( isUserFieldActive( UserFieldType.LAST_NAME ) ) { this.lastName = userFields.getLastName(); } if ( isUserFieldActive( UserFieldType.SUFFIX ) ) { this.suffix = userFields.getSuffix(); } if ( isUserFieldActive( UserFieldType.NICK_NAME ) ) { this.nickName = userFields.getNickName(); } if ( isUserFieldActive( UserFieldType.INITIALS ) ) { this.initials = userFields.getInitials(); } } protected String resolveFrom( final String... parts ) { final StringBuilder builder = new StringBuilder(); for ( final String part : parts ) { if ( part != null && part.trim().length() > 0 ) { if ( builder.length() > 0 ) { builder.append( " " ); } builder.append( part.trim() ); } } return builder.toString(); } private boolean isUserFieldActive( UserFieldType type ) { return userStoreConfig.getUserFieldConfig( type ) != null; } }