private List readAliases()

in src/main/java/org/apache/sling/resourceresolver/impl/mapping/ResourceMapperImpl.java [236:263]


    private List<String> readAliases(String path, Resource current) {
        if (this.mapEntries.isOptimizeAliasResolutionEnabled()) {
            logger.debug("map: Optimize Alias Resolution is Enabled");
            String parentPath = ResourceUtil.getParent(path);
            
            if ( parentPath == null )
                return Collections.emptyList();
            
            final Map<String, String> aliases = mapEntries.getAliasMap(parentPath);
            
            if ( aliases == null || !aliases.containsValue(current.getName()) ) 
                return Collections.emptyList();
            
            return aliases.entrySet().stream()
                .filter( e -> current.getName().contentEquals(e.getValue()) )
                .map( Entry::getKey )
                .collect(Collectors.toList());
            
        } else {
            logger.debug("map: Optimize Alias Resolution is Disabled");
            String[] aliases = ResourceResolverControl.getProperty(current, ResourceResolverImpl.PROP_ALIAS, String[].class);
            if ( aliases == null || aliases.length == 0 )
                return Collections.emptyList();
            if ( aliases.length == 1 )
                return Collections.singletonList(aliases[0]);
            return Arrays.asList(aliases);
        }        
    }