private Map<String, Object> collectClaims(String subject, String[] claimNames, String[] claimLocales)
    {
        // If no claim is required.
        if (claimNames == null || claimNames.length == 0)
        {
            return null;
        }

        // Drop empty and duplicate entries from claimLocales.
        claimLocales = normalizeClaimLocales(claimLocales);

        // Claim values.
        Map<String, Object> claims = new HashMap<String, Object>();

        // For each requested claim.
        for (String claimName : claimNames)
        {
            // If the claim name is empty.
            if (claimName == null || claimName.length() == 0)
            {
                continue;
            }

            // Split the claim name into the name part and the tag part.
            String[] elements = claimName.split("#", 2);
            String name = elements[0];
            String tag  = (elements.length == 2) ? elements[1] : null;

            // If the name part is empty.
            if (name == null || name.length() == 0)
            {
                continue;
            }

            // Get the claim value of the claim.
            Object value = getClaim(name, tag, claimLocales);

            // If the claim value was not obtained.
            if (value == null)
            {
                continue;
            }

            if (tag == null)
            {
                // Just for an edge case where claimName ends with "#".
                claimName = name;
            }

            // Add the pair of the claim name and the claim value.
            claims.put(claimName, value);
        }

        // If no claim value has been obtained.
        if (claims.size() == 0)
        {
            return null;
        }

        // Obtained claim values.
        return claims;
    }
private Map<String, Object> collectClaims(String subject, String[] claimNames, String[] claimLocales)
    {
        
        if (claimNames == null || claimNames.length == 0)
        {
            return null;
        }

        
        claimLocales = normalizeClaimLocales(claimLocales);

        
        Map<String, Object> claims = new HashMap<String, Object>();

        
        for (String claimName : claimNames)
        {
            
            if (claimName == null || claimName.length() == 0)
            {
                continue;
            }

            
            String[] elements = claimName.split("#", 2);
            String name = elements[0];
            String tag  = (elements.length == 2) ? elements[1] : null;

            
            if (name == null || name.length() == 0)
            {
                continue;
            }

            
            Object value = getClaim(name, tag, claimLocales);

            
            if (value == null)
            {
                continue;
            }

            if (tag == null)
            {
                
                claimName = name;
            }

            
            claims.put(claimName, value);
        }

        
        if (claims.size() == 0)
        {
            return null;
        }

        
        return claims;
    }
private Map < String , Object > collectClaims ( String subject , String [ ] claimNames , String [ ] claimLocales ) { // If no claim is required. if ( claimNames == null || claimNames . length == 0 ) { return null ; } // Drop empty and duplicate entries from claimLocales. claimLocales = normalizeClaimLocales ( claimLocales ) ; // Claim values. Map < String , Object > claims = new HashMap < String , Object > ( ) ; // For each requested claim. for ( String claimName : claimNames ) { // If the claim name is empty. if ( claimName == null || claimName . length ( ) == 0 ) { continue ; } // Split the claim name into the name part and the tag part. String [ ] elements = claimName . split ( "#" , 2 ) ; String name = elements [ 0 ] ; String tag = ( elements . length == 2 ) ? elements [ 1 ] : null ; // If the name part is empty. if ( name == null || name . length ( ) == 0 ) { continue ; } // Get the claim value of the claim. Object value = getClaim ( name , tag , claimLocales ) ; // If the claim value was not obtained. if ( value == null ) { continue ; } if ( tag == null ) { // Just for an edge case where claimName ends with "#". claimName = name ; } // Add the pair of the claim name and the claim value. claims . put ( claimName , value ) ; } // If no claim value has been obtained. if ( claims . size ( ) == 0 ) { return null ; } // Obtained claim values. return claims ; }
Collect claims of the end-user.
Collect claims of the end - user .