/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.resource;
import java.util.ArrayList;
import java.util.List;
public final class ResourceFolderImpl
extends ResourceBaseImpl
implements ResourceFolder
{
public ResourceFolderImpl( FileResourceService service, FileResourceName name )
{
super( service, name );
}
public ResourceFolder getFolder( String name )
{
FileResource res = this.service.getResource( new FileResourceName( this.name, name ) );
if ( ( res != null ) && res.isFolder() )
{
return new ResourceFolderImpl( this.service, res.getName() );
}
return null;
}
public ResourceFile getFile( String name )
{
FileResource res = this.service.getResource( new FileResourceName( this.name, name ) );
if ( ( res != null ) && !res.isFolder() )
{
return new ResourceFileImpl( this.service, res.getName() );
}
return null;
}
public List<ResourceFolder> getFolders()
{
List<ResourceFolder> folders = new ArrayList<ResourceFolder>();
for ( FileResourceName child : this.service.getChildren( this.name ) )
{
FileResource res = this.service.getResource( child );
if ( res != null && res.isFolder() )
{
folders.add( new ResourceFolderImpl( this.service, res.getName() ) );
}
}
return folders;
}
public List<ResourceFile> getFiles()
{
List<ResourceFile> files = new ArrayList<ResourceFile>();
for ( FileResourceName child : this.service.getChildren( this.name ) )
{
FileResource res = this.service.getResource( child );
if ( res != null && !res.isFolder() )
{
files.add( new ResourceFileImpl( this.service, res.getName() ) );
}
}
return files;
}
}