|
Enumerates the resources in the specified repository.
- Remarks:
- You can enumerate all types or just a selected type. You can also choose what depth in the repository to examine. This method only works on "Library" repository. If you specify a repository that is not supported, this method will throw an MgInvalidRepositoryType exception.
.NET Syntax
MgByteReader EnumerateResources(MgResourceIdentifier resource, int depth, string type, bool computeChildren);
|
Java Syntax
MgByteReader EnumerateResources(MgResourceIdentifier resource, int depth, String type, boolean computeChildren);
|
PHP Syntax
MgByteReader EnumerateResources(MgResourceIdentifier resource, int depth, string type, bool computeChildren);
|
- Parameters:
-
| resource | (MgResourceIdentifier) Resource identifier specifying the resource to enumerate. This can be a document or a folder. |
| depth | (int) Recursion depth, relative to the specified resource.
-
If the resource is a document, depth must be set to 0.
-
If the resource is a folder:
-
If the depth is equal to 0, only information about the specified folder is returned.
-
If the depth is greater than 0, information about the folder and its descendants up to the specified depth are returned.
-
If the depth is -1, information about the folder and all its descendants is returned.
|
| type | (String/string) Type of the resource to be enumerated. (Case sensitive.) See MgResourceType for valid types. If the type is a folder, you must include the trailing slash.
Or, this can be set to null, in which case information about all resource types is returned. |
| computeChildren | (boolean/bool) Flag to determine whether or not the number of children of the leaf folder resource at the specified depth should be computed.
-
If it is true, then the number of children of the leaf folder resource at the specified depth will be set to a computed value (>= 0).
-
If it is false, then the number of children of the leaf folder resource at the specified depth will be set to -1.
|
- Returns:
- Returns an MgByteReader object containing a description of the resources in XML format using the ResourceList schema.
Example (PHP)
These examples assume that $resourceService has already been initialized. // Enumerates everything in the library
$resourceID = new MgResourceIdentifier("Library://");
$byteReader = $resourceService->EnumerateResources($resourceID, -1, "", true);
// Enumerates everything in Geography
$resourceID = new MgResourceIdentifier("Library://Geography/");
$byteReader = $resourceService->EnumerateResources($resourceID, -1, "", true);
// Enumerates all maps in the library
$resourceID = new MgResourceIdentifier("Library://");
$byteReader = $resourceService->EnumerateResources($resourceID, -1, "MapDefinition", false);
// Enumerates all folders in the library
$resourceID = new MgResourceIdentifier("Library://");
$byteReader = $resourceService->EnumerateResources($resourceID, -1, "Folder", true);
// Enumerates the folder Geography
$resourceID = new MgResourceIdentifier("Library://Geography/");
$byteReader = $resourceService->EnumerateResources($resourceID, 0, "Folder", true);
// Enumerates maps one level below Geography
$resourceID = new MgResourceIdentifier("Library://Geography/");
$byteReader = $resourceService->EnumerateResources($resourceID, 1, "MapDefinition", false);
// Enumerates a specific map
// NOTE: In this case, depth must be set to 0
$resourceID = new MgResourceIdentifier("Library://Geography/World.MapDefinition");
$byteReader = $resourceService->EnumerateResources($resourceID, 0, "MapDefinition", false);
- Exceptions:
-
|