## CORBA Interface IFileService

A service for manipulating files and filerefs in a SAS Workspace.

### Definition

CORBA Module SAS

### IFileService Description

This component provides access to the files and filerefs that are accessible to a SAS Workspace. Each workspace has a single file service, which can be found in its FileService attribute.

The FileService and the related Fileref, FileInfo, BinaryStream and TextStream interfaces are implemented by the underlying Multi-Vendor Architecture of SAS so that the same interfaces can be supported on different host platforms. If you avoid host-specific assumptions in your code, you can write client applications that will operate correctly across different types of host filesystems.

While you can list and manage files and filerefs through this interface, you use the Fileref interface to read or write the data itself. Furthermore, there are no interfaces that manipulate physical files directly. In order to read from or write to a file, you must first create a fileref.

Users of the FileService should be familiar with SAS files and filerefs. Note that an "Access Method" and a "Device" are synonymous; the FileService uses the term "Access Method."

CORBA Definitions
enum ListFilesMode | Indicates the type of directory list to be performed by the ListFiles operation.
enum AssignmentContext | Indicates how a fileref assignment was made.
enum TypeCategory | Describes how to interpret the type name that is returned by the ListFiles operation.
enum ListFilesIndex | Indices to the fieldInclusionMask array parameter of the ListFiles operation.
enum ListFilerefsIndex | Indices to the fieldInclusionMask array parameter to the ListFileref operation.
attribute Parent | The workspace containing this file service.
method ListFiles | Lists all files in a directory.
method DeleteFile | Deletes a file or directory.
method MakeDirectory | Creates a new directory.
method RenameFile | Renames an existing file or directory.
method FullName | Returns the full pathname given a file name and directory name.
method SplitName | Breaks a pathname into a directory and member. Useful for creating a libname.
method ListFilerefs | Returns a list of all assigned filerefs on the current SAS Workspace.
method AssignFileref | Assign a SAS fileref.
method DeassignFileref | Deassigns a fileref.
method UseFileref | Obtains the fileref component for the specified fileref name.

Java Classes
IFileServiceHelper | Used to manipulate the IFileService type
IFileServiceHolder | Used to process the IFileService type as an out parameter
ListFilesMode | Indicates the type of directory list to be performed by the ListFiles operation.
ListFilesModeHelper | Used to manipulate the ListFilesMode type
ListFilesModeHolder | Used to process the ListFilesMode type as an out parameter
ListFilesModeSeqHelper | Used to manipulate one dimensional arrays of the ListFilesMode type
ListFilesModeSeqHolder | Used to process one dimensional arrays of the ListFilesMode type as an out parameter
VariableArray2dOfListFilesModeHelper | Used to manipulate two dimensional arrays of the ListFilesMode type
VariableArray2dOfListFilesModeHolder | Used to process two dimensional arrays of the ListFilesMode type
AssignmentContext | Indicates how a fileref assignment was made.
AssignmentContextHelper | Used to manipulate the AssignmentContext type
AssignmentContextHolder | Used to process the AssignmentContext type as an out parameter
AssignmentContextSeqHelper | Used to manipulate one dimensional arrays of the AssignmentContext type
AssignmentContextSeqHolder | Used to process one dimensional arrays of the AssignmentContext type as an out parameter
VariableArray2dOfAssignmentContextHelper | Used to manipulate two dimensional arrays of the AssignmentContext type
VariableArray2dOfAssignmentContextHolder | Used to process two dimensional arrays of the AssignmentContext type
TypeCategory | Describes how to interpret the type name that is returned by the ListFiles operation.
TypeCategoryHelper | Used to manipulate the TypeCategory type
TypeCategoryHolder | Used to process the TypeCategory type as an out parameter
TypeCategorySeqHelper | Used to manipulate one dimensional arrays of the TypeCategory type
TypeCategorySeqHolder | Used to process one dimensional arrays of the TypeCategory type as an out parameter
VariableArray2dOfTypeCategoryHelper | Used to manipulate two dimensional arrays of the TypeCategory type
VariableArray2dOfTypeCategoryHolder | Used to process two dimensional arrays of the TypeCategory type
ListFilesIndex | Indices to the fieldInclusionMask array parameter of the ListFiles operation.
ListFilesIndexHelper | Used to manipulate the ListFilesIndex type
ListFilesIndexHolder | Used to process the ListFilesIndex type as an out parameter
ListFilesIndexSeqHelper | Used to manipulate one dimensional arrays of the ListFilesIndex type
ListFilesIndexSeqHolder | Used to process one dimensional arrays of the ListFilesIndex type as an out parameter
VariableArray2dOfListFilesIndexHelper | Used to manipulate two dimensional arrays of the ListFilesIndex type
VariableArray2dOfListFilesIndexHolder | Used to process two dimensional arrays of the ListFilesIndex type
ListFilerefsIndex | Indices to the fieldInclusionMask array parameter to the ListFileref operation.
ListFilerefsIndexHelper | Used to manipulate the ListFilerefsIndex type
ListFilerefsIndexHolder | Used to process the ListFilerefsIndex type as an out parameter
ListFilerefsIndexSeqHelper | Used to manipulate one dimensional arrays of the ListFilerefsIndex type
ListFilerefsIndexSeqHolder | Used to process one dimensional arrays of the ListFilerefsIndex type as an out parameter
VariableArray2dOfListFilerefsIndexHelper | Used to manipulate two dimensional arrays of the ListFilerefsIndex type
VariableArray2dOfListFilerefsIndexHolder | Used to process two dimensional arrays of the ListFilerefsIndex type

Java Interfaces
IFileService | A service for manipulating files and filerefs in a SAS Workspace.

### IFileService_1_1 Description

CORBA Definitions
enum ListFilesMode | Indicates the type of directory list to be performed by the ListFiles operation.
enum AssignmentContext | Indicates how a fileref assignment was made.
enum TypeCategory | Describes how to interpret the type name that is returned by the ListFiles operation.
enum ListFilesIndex | Indices to the fieldInclusionMask array parameter of the ListFiles operation.
enum ListFilerefsIndex | Indices to the fieldInclusionMask array parameter to the ListFileref operation.
attribute Parent | The workspace containing this file service.
method ListFiles | Lists all files in a directory.
method DeleteFile | Deletes a file or directory.
method MakeDirectory | Creates a new directory.
method RenameFile | Renames an existing file or directory.
method FullName | Returns the full pathname given a file name and directory name.
method SplitName | Breaks a pathname into a directory and member. Useful for creating a libname.
method ListFilerefs | Returns a list of all assigned filerefs on the current SAS Workspace.
method AssignFileref | Assign a SAS fileref.
method DeassignFileref | Deassigns a fileref.
method UseFileref | Obtains the fileref component for the specified fileref name.
exception DeviceNotMounted | Indicates that the specified device is not available for access.
method ListFiles_2 | Lists all files in a directory.

Java Classes
IFileService_1_1Helper | Used to manipulate the IFileService_1_1 type
IFileService_1_1Holder | Used to process the IFileService_1_1 type as an out parameter
ListFilesMode | Indicates the type of directory list to be performed by the ListFiles operation.
ListFilesModeHelper | Used to manipulate the ListFilesMode type
ListFilesModeHolder | Used to process the ListFilesMode type as an out parameter
ListFilesModeSeqHelper | Used to manipulate one dimensional arrays of the ListFilesMode type
ListFilesModeSeqHolder | Used to process one dimensional arrays of the ListFilesMode type as an out parameter
VariableArray2dOfListFilesModeHelper | Used to manipulate two dimensional arrays of the ListFilesMode type
VariableArray2dOfListFilesModeHolder | Used to process two dimensional arrays of the ListFilesMode type
AssignmentContext | Indicates how a fileref assignment was made.
AssignmentContextHelper | Used to manipulate the AssignmentContext type
AssignmentContextHolder | Used to process the AssignmentContext type as an out parameter
AssignmentContextSeqHelper | Used to manipulate one dimensional arrays of the AssignmentContext type
AssignmentContextSeqHolder | Used to process one dimensional arrays of the AssignmentContext type as an out parameter
VariableArray2dOfAssignmentContextHelper | Used to manipulate two dimensional arrays of the AssignmentContext type
VariableArray2dOfAssignmentContextHolder | Used to process two dimensional arrays of the AssignmentContext type
TypeCategory | Describes how to interpret the type name that is returned by the ListFiles operation.
TypeCategoryHelper | Used to manipulate the TypeCategory type
TypeCategoryHolder | Used to process the TypeCategory type as an out parameter
TypeCategorySeqHelper | Used to manipulate one dimensional arrays of the TypeCategory type
TypeCategorySeqHolder | Used to process one dimensional arrays of the TypeCategory type as an out parameter
VariableArray2dOfTypeCategoryHelper | Used to manipulate two dimensional arrays of the TypeCategory type
VariableArray2dOfTypeCategoryHolder | Used to process two dimensional arrays of the TypeCategory type
ListFilesIndex | Indices to the fieldInclusionMask array parameter of the ListFiles operation.
ListFilesIndexHelper | Used to manipulate the ListFilesIndex type
ListFilesIndexHolder | Used to process the ListFilesIndex type as an out parameter
ListFilesIndexSeqHelper | Used to manipulate one dimensional arrays of the ListFilesIndex type
ListFilesIndexSeqHolder | Used to process one dimensional arrays of the ListFilesIndex type as an out parameter
VariableArray2dOfListFilesIndexHelper | Used to manipulate two dimensional arrays of the ListFilesIndex type
VariableArray2dOfListFilesIndexHolder | Used to process two dimensional arrays of the ListFilesIndex type
ListFilerefsIndex | Indices to the fieldInclusionMask array parameter to the ListFileref operation.
ListFilerefsIndexHelper | Used to manipulate the ListFilerefsIndex type
ListFilerefsIndexHolder | Used to process the ListFilerefsIndex type as an out parameter
ListFilerefsIndexSeqHelper | Used to manipulate one dimensional arrays of the ListFilerefsIndex type
ListFilerefsIndexSeqHolder | Used to process one dimensional arrays of the ListFilerefsIndex type as an out parameter
VariableArray2dOfListFilerefsIndexHelper | Used to manipulate two dimensional arrays of the ListFilerefsIndex type
VariableArray2dOfListFilerefsIndexHolder | Used to process two dimensional arrays of the ListFilerefsIndex type
DeviceNotMounted | Indicates that the specified device is not available for access.
DeviceNotMountedHelper | Used to manipulate the DeviceNotMounted type
DeviceNotMountedHolder | Used to process the DeviceNotMounted type as an out parameter

Java Interfaces
IFileService_1_1 | A service for manipulating files and filerefs in a SAS Workspace.

### IFileService_1_2 Description

CORBA Definitions
enum ListFilesMode | Indicates the type of directory list to be performed by the ListFiles operation.
enum AssignmentContext | Indicates how a fileref assignment was made.
enum TypeCategory | Describes how to interpret the type name that is returned by the ListFiles operation.
enum ListFilesIndex | Indices to the fieldInclusionMask array parameter of the ListFiles operation.
enum ListFilerefsIndex | Indices to the fieldInclusionMask array parameter to the ListFileref operation.
attribute Parent | The workspace containing this file service.
method ListFiles | Lists all files in a directory.
method DeleteFile | Deletes a file or directory.
method MakeDirectory | Creates a new directory.
method RenameFile | Renames an existing file or directory.
method FullName | Returns the full pathname given a file name and directory name.
method SplitName | Breaks a pathname into a directory and member. Useful for creating a libname.
method ListFilerefs | Returns a list of all assigned filerefs on the current SAS Workspace.
method AssignFileref | Assign a SAS fileref.
method DeassignFileref | Deassigns a fileref.
method UseFileref | Obtains the fileref component for the specified fileref name.
exception DeviceNotMounted | Indicates that the specified device is not available for access.
method ListFiles_2 | Lists all files in a directory.
exception InvalidFieldMode |
method ListFiles_3 | Lists all files in a directory.

Java Classes
IFileService_1_2Helper | Used to manipulate the IFileService_1_2 type
IFileService_1_2Holder | Used to process the IFileService_1_2 type as an out parameter
ListFilesMode | Indicates the type of directory list to be performed by the ListFiles operation.
ListFilesModeHelper | Used to manipulate the ListFilesMode type
ListFilesModeHolder | Used to process the ListFilesMode type as an out parameter
ListFilesModeSeqHelper | Used to manipulate one dimensional arrays of the ListFilesMode type
ListFilesModeSeqHolder | Used to process one dimensional arrays of the ListFilesMode type as an out parameter
VariableArray2dOfListFilesModeHelper | Used to manipulate two dimensional arrays of the ListFilesMode type
VariableArray2dOfListFilesModeHolder | Used to process two dimensional arrays of the ListFilesMode type
AssignmentContext | Indicates how a fileref assignment was made.
AssignmentContextHelper | Used to manipulate the AssignmentContext type
AssignmentContextHolder | Used to process the AssignmentContext type as an out parameter
AssignmentContextSeqHelper | Used to manipulate one dimensional arrays of the AssignmentContext type
AssignmentContextSeqHolder | Used to process one dimensional arrays of the AssignmentContext type as an out parameter
VariableArray2dOfAssignmentContextHelper | Used to manipulate two dimensional arrays of the AssignmentContext type
VariableArray2dOfAssignmentContextHolder | Used to process two dimensional arrays of the AssignmentContext type
TypeCategory | Describes how to interpret the type name that is returned by the ListFiles operation.
TypeCategoryHelper | Used to manipulate the TypeCategory type
TypeCategoryHolder | Used to process the TypeCategory type as an out parameter
TypeCategorySeqHelper | Used to manipulate one dimensional arrays of the TypeCategory type
TypeCategorySeqHolder | Used to process one dimensional arrays of the TypeCategory type as an out parameter
VariableArray2dOfTypeCategoryHelper | Used to manipulate two dimensional arrays of the TypeCategory type
VariableArray2dOfTypeCategoryHolder | Used to process two dimensional arrays of the TypeCategory type
ListFilesIndex | Indices to the fieldInclusionMask array parameter of the ListFiles operation.
ListFilesIndexHelper | Used to manipulate the ListFilesIndex type
ListFilesIndexHolder | Used to process the ListFilesIndex type as an out parameter
ListFilesIndexSeqHelper | Used to manipulate one dimensional arrays of the ListFilesIndex type
ListFilesIndexSeqHolder | Used to process one dimensional arrays of the ListFilesIndex type as an out parameter
VariableArray2dOfListFilesIndexHelper | Used to manipulate two dimensional arrays of the ListFilesIndex type
VariableArray2dOfListFilesIndexHolder | Used to process two dimensional arrays of the ListFilesIndex type
ListFilerefsIndex | Indices to the fieldInclusionMask array parameter to the ListFileref operation.
ListFilerefsIndexHelper | Used to manipulate the ListFilerefsIndex type
ListFilerefsIndexHolder | Used to process the ListFilerefsIndex type as an out parameter
ListFilerefsIndexSeqHelper | Used to manipulate one dimensional arrays of the ListFilerefsIndex type
ListFilerefsIndexSeqHolder | Used to process one dimensional arrays of the ListFilerefsIndex type as an out parameter
VariableArray2dOfListFilerefsIndexHelper | Used to manipulate two dimensional arrays of the ListFilerefsIndex type
VariableArray2dOfListFilerefsIndexHolder | Used to process two dimensional arrays of the ListFilerefsIndex type
DeviceNotMounted | Indicates that the specified device is not available for access.
DeviceNotMountedHelper | Used to manipulate the DeviceNotMounted type
DeviceNotMountedHolder | Used to process the DeviceNotMounted type as an out parameter
InvalidFieldMode |
InvalidFieldModeHelper | Used to manipulate the InvalidFieldMode type
InvalidFieldModeHolder | Used to process the InvalidFieldMode type as an out parameter

Java Interfaces
IFileService_1_2 | A service for manipulating files and filerefs in a SAS Workspace.

Java Interface IFileService

A service for manipulating files and filerefs in a SAS Workspace.

Package com.sas.iom.SAS

IFileService Description
This component provides access to the files and filerefs that are accessible to a SAS Workspace. Each workspace has a single file service, which can be found in its FileService attribute.

The FileService and the related Fileref, FileInfo, BinaryStream and TextStream interfaces are implemented by the underlying Multi-Vendor Architecture of SAS so that the same interfaces can be supported on different host platforms. If you avoid host-specific assumptions in your code, you can write client applications that will operate correctly across different types of host filesystems.

While you can list and manage files and filerefs through this interface, you use the Fileref interface to read or write the data itself. Furthermore, there are no interfaces that manipulate physical files directly. In order to read from or write to a file, you must first create a fileref.

Users of the FileService should be familiar with SAS files and filerefs. Note that an "Access Method" and a "Device" are synonymous; the FileService uses the term "Access Method."

`public interface IFileService
extends org.omg.CORBA.Object`

Method Summary

void | ListFiles ( java.lang.String path , ListFilesMode mode , boolean[] fieldInclusionMask , org.omg.CORBA.StringHolder listedPath , StringSeqHolder names , StringSeqHolder typenames , TypeCategorySeqHolder typeCategories , IntSeqHolder sizes , DateTimeSeqHolder modtimes , StringSeqHolder engines ) throws ( InvalidFieldMask, GenericError ); Lists all files in a directory.
void | DeleteFile ( java.lang.String path ) throws ( GenericError ); Deletes a file or directory.
java.lang.String | MakeDirectory ( java.lang.String parentDirectory , java.lang.String directoryName ) throws ( GenericError ); Creates a new directory.
void | RenameFile ( java.lang.String oldPath , java.lang.String newPath ) throws ( GenericError ); Renames an existing file or directory.
java.lang.String | FullName ( java.lang.String shortName , java.lang.String parentName ) throws ( GenericError ); Returns the full pathname given a file name and directory name.
void | SplitName ( java.lang.String path , org.omg.CORBA.StringHolder shortName , org.omg.CORBA.StringHolder parentName ) throws ( GenericError ); Breaks a pathname into a directory and member. Useful for creating a libname.
void | ListFilerefs ( boolean[] fieldInclusionMask , StringSeqHolder names , AssignmentContextSeqHolder assignmentContexts , StringSeqHolder paths , StringSeqHolder accessMethods ) throws ( InvalidFieldMask, GenericError ); Returns a list of all assigned filerefs on the current SAS Workspace.
IFileref | AssignFileref ( java.lang.String requestedName , java.lang.String accessMethodOrDevice , java.lang.String externalFile , java.lang.String hostOptions , org.omg.CORBA.StringHolder assignedName ) throws ( GenericError ); Assign a SAS fileref.
void | DeassignFileref ( java.lang.String name ) throws ( GenericError ); Deassigns a fileref.
IFileref | UseFileref ( java.lang.String name ) throws ( GenericError ); Obtains the fileref component for the specified fileref name.

Java Class IFileServiceHelper

public class IFileServiceHelper

Description
Implementing class for methods (insert, extract, type, id, read, write, narrow) used to manipulate the IFileService type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileServiceHelper

Java Class IFileServiceHolder

public class IFileServiceHolder

Description
Implementing class for methods (_read, _write, _type) used to process the IFileService type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileServiceHolder

CORBA Enum ListFilesMode

Indicates the type of directory list to be performed by the ListFiles operation.

Description
This enumeration indicates the type of directory list to be performed by the ListFiles operation. It determines whether or not the ListFiles::path parameter is used and how it is interpreted.

Usage

Member | Description
--- | ---
ListFilesModeRoot | The ListFiles operation will list the host-specific system root directory. The ListFiles::path parameter is ignored.
ListFilesModeUser | The ListFiles operation will list the host-specific user home directory. The ListFiles::path parameter is ignored.
ListFilesModePath | The ListFiles operation will list the directory specified in the path parameter.
ListFilesModeParentOfPath | The ListFiles operation will list the directory that is the parent of the directory specified in path.

Java Class ListFilesMode

public class ListFilesMode

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesMode

Java Class ListFilesModeHelper

public class ListFilesModeHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the ListFilesMode type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesModeHelper

Java Class ListFilesModeHolder

public class ListFilesModeHolder

Description
Implementing class for methods (_read, _write, _type) used to process the ListFilesMode type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesModeHolder

Java Class ListFilesModeSeqHelper

public class ListFilesModeSeqHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate singly dimensioned arrays of ListFilesMode type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesModeSeqHelper

Java Class ListFilesModeSeqHolder

public class ListFilesModeSeqHolder

Description
Implementing class for methods (_read, _write, _type) used to process singly dimensioned arrays of the ListFilesMode type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesModeSeqHolder

Java Class VariableArray2dOfListFilesModeHelper

public class VariableArray2dOfListFilesModeHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate doubly dimensioned arrays of ListFilesMode type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfListFilesModeHelper

Java Class VariableArray2dOfListFilesModeHolder

public class VariableArray2dOfListFilesModeHolder

Description
Implementing class for methods (_read, _write, _type) used to process doubly dimensioned arrays of the ListFilesMode type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfListFilesModeHolder

CORBA Enum AssignmentContext

Indicates how a fileref assignment was made.

Description
This enumeration indicates how a fileref assignment was made.

Usage

Member | Description
--- | ---
AssignmentContextRegular | A user created the name and assignment. Filerefs created by the FILENAME statement are in this category, as are ones created by the AssignFileref operation when you pass a non-empty AssignFileref::requestedName parameter.
AssignmentContextTemporary | The fileref name was generated by the system; often as a result of a user action. Since temporary filerefs are programming mechanisms, not user-chosen logical names, it often better to suppress them when presenting lists of filerefs back to a user.
AssignmentContextSystem | SAS created this fileref through a host-specific mechanism such as a DD statement under OS/390 or an environment variable on Unix.

Java Class AssignmentContext

public class AssignmentContext

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.AssignmentContext

Java Class AssignmentContextHelper

public class AssignmentContextHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the AssignmentContext type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.AssignmentContextHelper

Java Class AssignmentContextHolder

public class AssignmentContextHolder

Description
Implementing class for methods (_read, _write, _type) used to process the AssignmentContext type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.AssignmentContextHolder

Java Class AssignmentContextSeqHelper

public class AssignmentContextSeqHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate singly dimensioned arrays of AssignmentContext type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.AssignmentContextSeqHelper

Java Class AssignmentContextSeqHolder

public class AssignmentContextSeqHolder

Description
Implementing class for methods (_read, _write, _type) used to process singly dimensioned arrays of the AssignmentContext type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.AssignmentContextSeqHolder

Java Class VariableArray2dOfAssignmentContextHelper

public class VariableArray2dOfAssignmentContextHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate doubly dimensioned arrays of AssignmentContext type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfAssignmentContextHelper

Java Class VariableArray2dOfAssignmentContextHolder

public class VariableArray2dOfAssignmentContextHolder

Description
Implementing class for methods (_read, _write, _type) used to process doubly dimensioned arrays of the AssignmentContext type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfAssignmentContextHolder

CORBA Enum TypeCategory

Describes how to interpret the type name that is returned by the ListFiles operation.

Description
This enumeration describes how to interpret the type name that is returned by the ListFiles operation.

Usage

Member | Description
--- | ---
TypeCategoryDirectory | The type name should be ignored; the filename is a directory.
TypeCategorySASType | SAS has recognized the file as being of a well-known type. The type name is a standard file type name in SAS and is portable across hosts.
TypeCategoryExtension | SAS has not recognized the file as being of one of its well-known types. The type name is the file name's extension or it is blank if the file name has no extension.

Java Class TypeCategory

public class TypeCategory

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.TypeCategory

Java Class TypeCategoryHelper

public class TypeCategoryHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the TypeCategory type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.TypeCategoryHelper

Java Class TypeCategoryHolder

public class TypeCategoryHolder

Description
Implementing class for methods (_read, _write, _type) used to process the TypeCategory type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.TypeCategoryHolder

Java Class TypeCategorySeqHelper

public class TypeCategorySeqHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate singly dimensioned arrays of TypeCategory type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.TypeCategorySeqHelper

Java Class TypeCategorySeqHolder

public class TypeCategorySeqHolder

Description
Implementing class for methods (_read, _write, _type) used to process singly dimensioned arrays of the TypeCategory type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.TypeCategorySeqHolder

Java Class VariableArray2dOfTypeCategoryHelper

public class VariableArray2dOfTypeCategoryHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate doubly dimensioned arrays of TypeCategory type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfTypeCategoryHelper

Java Class VariableArray2dOfTypeCategoryHolder

public class VariableArray2dOfTypeCategoryHolder

Description
Implementing class for methods (_read, _write, _type) used to process doubly dimensioned arrays of the TypeCategory type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfTypeCategoryHolder

CORBA Enum ListFilesIndex

Indices to the fieldInclusionMask array parameter of the ListFiles operation.

Description
This enumeration defines indices to the ListFiles::fieldInclusionMask array parameter. When passed, this mask indicates whether or not each of the corresponding output parameters should be filled.

Usage

Member | Description
--- | ---
ListFilesIndexNames | The mask element which corresponds to the array of file names (ListFiles::names).
ListFilesIndexTypeNames | The mask element which corresponds to the array of type names (ListFiles::typenames).
ListFilesIndexTypeCategories | The mask element which corresponds to the array of type categories (ListFiles::typeCategories).
ListFilesIndexSizes | The mask element which corresponds to the array of file sizes (ListFiles::sizes).
ListFilesIndexModTimes | The mask element which corresponds to the array of last-modified times (ListFiles::modtimes).
ListFilesIndexEngines | The mask element which corresponds to the array of engine names (ListFiles::engines).
ListFilesIndexNumIndices | The number of elements in the field inclusion mask for the ListFiles operation.

Java Class ListFilesIndex

public class ListFilesIndex

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesIndex

Java Class ListFilesIndexHelper

public class ListFilesIndexHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the ListFilesIndex type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesIndexHelper

Java Class ListFilesIndexHolder

public class ListFilesIndexHolder

Description
Implementing class for methods (_read, _write, _type) used to process the ListFilesIndex type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesIndexHolder

Java Class ListFilesIndexSeqHelper

public class ListFilesIndexSeqHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate singly dimensioned arrays of ListFilesIndex type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesIndexSeqHelper

Java Class ListFilesIndexSeqHolder

public class ListFilesIndexSeqHolder

Description
Implementing class for methods (_read, _write, _type) used to process singly dimensioned arrays of the ListFilesIndex type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilesIndexSeqHolder

Java Class VariableArray2dOfListFilesIndexHelper

public class VariableArray2dOfListFilesIndexHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate doubly dimensioned arrays of ListFilesIndex type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfListFilesIndexHelper

Java Class VariableArray2dOfListFilesIndexHolder

public class VariableArray2dOfListFilesIndexHolder

Description
Implementing class for methods (_read, _write, _type) used to process doubly dimensioned arrays of the ListFilesIndex type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfListFilesIndexHolder

CORBA Enum ListFilerefsIndex

Indices to the fieldInclusionMask array parameter to the ListFileref operation.

Description
This enumeration defines indices to the ListFilerefs::fieldInclusionMask array parameter. When passed, this mask indicates whether or not each of the corresponding output parameters should be filled.

Usage

Member | Description
--- | ---
ListFilerefsIndexNames | The mask element which corresponds to the array of fileref names (ListFilerefs::names).
ListFilerefsIndexAssignmentContexts | The mask element which corresponds to the array of fileref assignment contexts (ListFilerefs::assignmentContexts).
ListFilerefsIndexPaths | The mask element which corresponds to the array of fileref physical file paths (ListFilerefs::paths).
ListFilerefsIndexAccessMethods | The mask element which corresponds to the array of fileref access method names (ListFilerefs::accessMethods).
ListFilerefsIndexNumIndices | The number of elements in the field inclusion mask for the ListFilerefs operation.

Java Class ListFilerefsIndex

public class ListFilerefsIndex

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilerefsIndex

Java Class ListFilerefsIndexHelper

public class ListFilerefsIndexHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the ListFilerefsIndex type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilerefsIndexHelper

Java Class ListFilerefsIndexHolder

public class ListFilerefsIndexHolder

Description
Implementing class for methods (_read, _write, _type) used to process the ListFilerefsIndex type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilerefsIndexHolder

Java Class ListFilerefsIndexSeqHelper

public class ListFilerefsIndexSeqHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate singly dimensioned arrays of ListFilerefsIndex type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilerefsIndexSeqHelper

Java Class ListFilerefsIndexSeqHolder

public class ListFilerefsIndexSeqHolder

Description
Implementing class for methods (_read, _write, _type) used to process singly dimensioned arrays of the ListFilerefsIndex type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.ListFilerefsIndexSeqHolder

Java Class VariableArray2dOfListFilerefsIndexHelper

public class VariableArray2dOfListFilerefsIndexHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate doubly dimensioned arrays of ListFilerefsIndex type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfListFilerefsIndexHelper

Java Class VariableArray2dOfListFilerefsIndexHolder

public class VariableArray2dOfListFilerefsIndexHolder

Description
Implementing class for methods (_read, _write, _type) used to process doubly dimensioned arrays of the ListFilerefsIndex type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_0Package.VariableArray2dOfListFilerefsIndexHolder

CORBA Attribute Parent (readonly)

The workspace containing this file service.

Description
This attribute allows you to navigate back to the Workspace of this FileService component. All files and filerefs accessed through this service are those visible in the parent workspace.

Usage

Java Method Parent

    public IWorkspace Parent ();

CORBA Method ListFiles

Lists all files in a directory.

Description
This operation lists all files in the specified directory. It returns six output arrays. The ListFiles::fieldInclusionMask parameter indicates which of the individual output arrays are filled by the call. A filled output array contains one element for each file in the directory. Thus, all the filled output arrays are the same size and the complete information about a particular file in the directoy is available from the corresponding (same index) elements of each array. When an output array is not filled, it contains zero elements on return from the call.

The semantics of this operation are based on the model of a hierarchical, directory-based filesystem as popularized by Unix and adopted by PC operating systems. For some host filesystems, notably mainframes, the native filesystems do not conform to this model. In these cases, SAS provides an emulation of a hierarchical, directory-based system.

For SAS under OS/390, this method has only experimental status. Its behaviour may change in future releases.

Usage

Java Method ListFiles

`void` ListFiles (

        java.lang.String path ,
        ListFilesMode mode ,
        boolean[] fieldInclusionMask ,
        org.omg.CORBA.StringHolder listedPath ,
        StringSeqHolder names ,
        StringSeqHolder typenames ,
        TypeCategorySeqHolder typeCategories ,
        IntSeqHolder sizes ,
        DateTimeSeqHolder modtimes ,
        StringSeqHolder engines
        )
        throws (
                InvalidFieldMask,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
path | in | java.lang.String | This parameter is used together with the ListFiles::mode parameter to determine which directory is listed.
mode | in | ListFilesMode | One of the ListFilesMode enumeration values.
fieldInclusionMask | in | boolean[] | This input parameter determines which of the six array output parameters are filled by the call. You must supply an array of either zero or six (ListFilesIndexNumIndices) elements. The simplest approach is to supply a zero-element array for the mask. If you do this, then all of the output arrays will be filled. You can make the call more efficient by indicating which output parameters need to be filled and which don't. The potential efficiency improvement is partly a result of reduced network traffic, but comes primarily from reducing the amount of work required on the server. If you supply a six-element mask array, then each element indicates whether or not the corresponding output parameter will be filled by the call. The correspondence between mask array elements and output parameters is defined by the ListFilesIndex enumeration. If, for example, you don't need the file modification times, then you should set mask[ListFilesIndexModTimes] to false.
listedPath | out | org.omg.CORBA.StringHolder | Returns the name of the directory selected by the ListFiles::path and ListFiles::mode. Note that the returned value of this output parameter will only be the same directory as the ListFiles::path parameter when you to set ListFiles::mode to ListFilesModePath.
names | out | StringSeqHolder | This array output parameter returns the names of all files and directories in the requested directory. These names are "short names" in that the full pathname is not provided. The names do include any extension (such as ".sas"). In order to create a full pathname, combine the returned ListFiles::listedPath parameter with an entry in this array using FullName.
typenames | out | StringSeqHolder | Indicates the type of each file. It will be blank for subdirectories. This should be used in conjunction with the following parameter (ListFiles::typeCategories).
typeCategories | out | TypeCategorySeqHolder | The elements of this array output parameter define the interpretation of the corresponding elements in the output array of type names. See TypeCategory for details.
sizes | out | IntSeqHolder | The number of bytes in each file or subdirectory. Note that the meaning of this parameter is host-dependent and does not necessarily correspond to the size of the contents of the directory.
modtimes | out | DateTimeSeqHolder | The last-modified time for each file or subdirectory, generally in terms of local time. A particular local time value may be based on the time zone of the SAS IOM server, or it may be the local time of the computer that stored the timestamp. There is no way to determine whose local time is represented. Besides geography, time zone is also set by Daylight Savings Time changes. Thus, the same computer can read and write timestamps in different time zones in different parts of the year. For some files on some hosts, it may be possible to retrieve a date, but not time-of-day. In some other cases, even the date may be unknown. For unknown dates, SAS base date of midnight, January 1 1960 will generally be returned. Given the number of filesystems with which SAS interacts, the accuracy of this datetime may vary.
engines | out | StringSeqHolder | Returns the SAS library engine associated with each SAS file in a SAS data library. If the file is not a member of a SAS data library, the engine value will be an empty string.

Example

CORBA Method DeleteFile

Deletes a file or directory.

Description

Usage

Java Method DeleteFile

`void` DeleteFile (

        java.lang.String path
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
path | in | java.lang.String | If the file was located using ListFiles, then you should use FullName to form the path.

Example

CORBA Method MakeDirectory

Creates a new directory.

Description
This operation creates a new directory. The call combines the input parameters to create the full pathname of the directory to be created and then returns that full path.

Note that not all access methods support the creation of a directory.

Usage

Java Method MakeDirectory

`java.lang.String` MakeDirectory (

        java.lang.String parentDirectory ,
        java.lang.String directoryName
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
parentDirectory | in | java.lang.String | The operating system-dependent full pathname of the directory that is to contain the new directory.
directoryName | in | java.lang.String | The name of the new directory.

Example

CORBA Method RenameFile

Renames an existing file or directory.

Description
This operation renames an existing file or directory.

Usage

Java Method RenameFile

`void` RenameFile (

        java.lang.String oldPath ,
        java.lang.String newPath
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
oldPath | in | java.lang.String | The full pathname of the existing file or directory that is to be renamed. For best operation with servers on different operating systems, if the file was located using ListFiles, then you should use FullName to form the path.
newPath | in | java.lang.String | The full pathname of the new file or directory. For best operation with servers on different operating systems, if the new file name will be created by combining a "short name" with a directory located using ListFiles, then you should use FullName to form the path.

Example

CORBA Method FullName

Returns the full pathname given a file name and directory name.

Description
This operation returns the full pathname given a file name and directory name. It accommodates the fact that not all host platforms and filesystems use the same syntax for indicating directory hierarchy relationships.

This operation is typically called to create a full pathname from one of the names returned from ListFiles.

For SAS under OS/390, this method has only experimental status. Its behaviour may change in future releases.

Usage

Java Method FullName

`java.lang.String` FullName (

        java.lang.String shortName ,
        java.lang.String parentName
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
shortName | in | java.lang.String | The name of the file or directory that needs to be combined into a full pathname.
parentName | in | java.lang.String | A pathname of the directory to contain the shortName.

Example

CORBA Method SplitName

Breaks a pathname into a directory and member. Useful for creating a libname.

Description
Break a pathname into a directory and member.

For SAS under OS/390, this method has only experimental status. Its behaviour may change in future releases.

Usage

Java Method SplitName

`void` SplitName (

        java.lang.String path ,
        org.omg.CORBA.StringHolder shortName ,
        org.omg.CORBA.StringHolder parentName
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
path | in | java.lang.String | The operating system-dependent pathname that needs to be broken out into the containing directory and the contained file or subdirectory.
shortName | out | org.omg.CORBA.StringHolder | The returned file or subdirectory that is specified by SplitName::path.
parentName | out | org.omg.CORBA.StringHolder | The returned directory that contains SplitName::shortName.

Example

CORBA Method ListFilerefs

Returns a list of all assigned filerefs on the current SAS Workspace.

Description
This operation returns information about the assigned filerefs in the Workspace. It returns four output arrays. The ListFilerefs::fieldInclusionMask parameter indicates which of the individual output arrays are filled by the call. A filled output array contains one element for each fileref in the workspace. Thus, all the filled output arrays are the same size and the complete information about a particular fileref is available from the corresponding (same index) elements of each array. When an output array is not filled, it contains zero elements on return from the call.

In the case of a concatenated fileref, multiple entries for the same fileref will be returned, corresponding to each concatenated member.

Usage
Note that there is not enough information returned in this method to fully recreate the original fileref; the original options are not available.

Java Method ListFilerefs

`void` ListFilerefs (

        boolean[] fieldInclusionMask ,
        StringSeqHolder names ,
        AssignmentContextSeqHolder assignmentContexts ,
        StringSeqHolder paths ,
        StringSeqHolder accessMethods
        )
        throws (
                InvalidFieldMask,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
fieldInclusionMask | in | boolean[] | This input parameter determines which of the four array output parameters are filled by the call. You must supply an array of either zero or four (ListFilerefsIndexNumIndices) elements. The simplest approach is to supply a zero-element array for the mask. If you do this, then all of the output arrays will be filled. You can make the call a little more efficient by indicating which output parameters need to be filled and which don't. If you supply a four-element mask array, then each element indicates whether or not the corresponding output parameter will be filled by the call. The correspondence between mask array elements and output parameters is defined by the ListFilerefsIndex enumeration. If, for example, you don't need the access method names, then you should set mask[ListFilerefsIndexAccessMethods] to false.
names | out | StringSeqHolder | The name of each fileref assigned in the workspace.
assignmentContexts | out | AssignmentContextSeqHolder | This array output parameter indicates how each fileref was assigned. See AssignmentContext for details. Do not rely on the naming scheme for temporary filerefs; these can change between hosts and between releases of SAS.
paths | out | StringSeqHolder | Indicates the pathname associated with each fileref.
accessMethods | out | StringSeqHolder | Indicates the accessMethod (also called device by some documentation) that was used when each fileref was created.

Example

CORBA Method AssignFileref

Assign a SAS fileref.

Description
This operation assigns a fileref in a manner analogous to the SAS language FILENAME statement. This call creates and returns a Fileref component to represent the new fileref.

Usage

Java Method AssignFileref

`public IFileref` AssignFileref (

        java.lang.String requestedName ,
        java.lang.String accessMethodOrDevice ,
        java.lang.String externalFile ,
        java.lang.String hostOptions ,
        org.omg.CORBA.StringHolder assignedName
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
requestedName | in | java.lang.String | The name to use for this fileref. This should be 8 or fewer characters. If you pass in an empty string, an access method value of "TEMP", then the call will create a temporary file.
accessMethodOrDevice | in | java.lang.String | Indicates the access method that will handle fileref. You can use PROC NICKNAME to get a list of all access methods supported on your host. Different hosts support a different set of access methods.
externalFile | in | java.lang.String | The file or directory (or access method-specific string) with which to associate the fileref. Note that this can be a concatenated list of files using the same syntax as in the SAS language FILENAME statement.
hostOptions | in | java.lang.String | The options to use when creating the fileref. Most of these are specific to the host or access method.
assignedName | out | org.omg.CORBA.StringHolder | Returns the assignedName. The assignedName will differ from the requested name when a temporary fileref is requested.

Example

CORBA Method DeassignFileref

Deassigns a fileref.

Description
This operation deassigns the specified fileref. and destroys the associated fileref object. It is analogous to the FILENAME CLEAR statement in the SAS language.

Usage

Java Method DeassignFileref

`void` DeassignFileref (

        java.lang.String name
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
name | in | java.lang.String | The name of the fileref to deassign.

Example

CORBA Method UseFileref

Obtains the fileref component for the specified fileref name.

Description
This operation locates and returns the Fileref component for a given fileref name.

Usage
You should you call this operation when the fileref has already been assigned within the SAS Workspace and you are simply trying to retieve the Fileref component. If you need to perform the assignment first, call AssignFileref.

Java Method UseFileref

`public IFileref` UseFileref (

        java.lang.String name
        )
        throws (
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
name | in | java.lang.String | The name of the previously assigned fileref to obtain. An error will occur if the requested fileref has not been previously assigned.

Example

IFileService_1_1 Description

`public interface IFileService_1_1
Extends IFileService`

Method Summary

void | ListFiles_2 ( java.lang.String path , ListFilesMode mode , boolean[] fieldInclusionMask , org.omg.CORBA.StringHolder listedPath , StringSeqHolder names , StringSeqHolder typenames , TypeCategorySeqHolder typeCategories , IntSeqHolder sizes , DateTimeSeqHolder modtimes , StringSeqHolder engines ) throws ( InvalidFieldMask, DeviceNotMounted, GenericError ); Lists all files in a directory.

Java Class IFileService_1_1Helper

public class IFileService_1_1Helper

Description
Implementing class for methods (insert, extract, type, id, read, write, narrow) used to manipulate the IFileService_1_1 type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_1Helper

Java Class IFileService_1_1Holder

public class IFileService_1_1Holder

Description
Implementing class for methods (_read, _write, _type) used to process the IFileService_1_1 type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_1Holder

CORBA Exception DeviceNotMounted

Indicates that the specified device is not available for access.

Description

Java Class DeviceNotMounted

public class DeviceNotMounted

    java.lang.Object
      |
      +--java.lang.Throwable
            |
            +--java.lang.Exception
                  |
                  +--org.omg.CORBA.UserException
                        |
                        +--com.sas.iom.SAS.IFileService_1_1Package.DeviceNotMounted

Java Class DeviceNotMountedHelper

public class DeviceNotMountedHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the DeviceNotMounted type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_1Package.DeviceNotMountedHelper

Java Class DeviceNotMountedHolder

public class DeviceNotMountedHolder

Description
Implementing class for methods (_read, _write, _type) used to process the DeviceNotMounted type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_1Package.DeviceNotMountedHolder

CORBA Method ListFiles_2

Lists all files in a directory.

Description
This operation lists all files in the specified directory. This operation will fail and return DeviceNotMounted if the device it is attempting to read is not available for read access.

It returns six output arrays. The ListFiles::fieldInclusionMask parameter indicates which of the individual output arrays are filled by the call. A filled output array contains one element for each file in the directory. Thus, all the filled output arrays are the same size and the complete information about a particular file in the directoy is available from the corresponding (same index) elements of each array. When an output array is not filled, it contains zero elements on return from the call.

The semantics of this operation are based on the model of a hierarchical, directory-based filesystem as popularized by Unix and adopted by PC operating systems. For some host filesystems, notably mainframes, the native filesystems do not conform to this model. In these cases, SAS provides an emulation of a hierarchical, directory-based system.

For SAS under OS/390, this method has only experimental status. Its behaviour may change in future releases.

Usage

Java Method ListFiles_2

`void` ListFiles_2 (

        java.lang.String path ,
        ListFilesMode mode ,
        boolean[] fieldInclusionMask ,
        org.omg.CORBA.StringHolder listedPath ,
        StringSeqHolder names ,
        StringSeqHolder typenames ,
        TypeCategorySeqHolder typeCategories ,
        IntSeqHolder sizes ,
        DateTimeSeqHolder modtimes ,
        StringSeqHolder engines
        )
        throws (
                InvalidFieldMask,
                DeviceNotMounted,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
path | in | java.lang.String | This parameter is used together with the ListFiles::mode parameter to determine which directory is listed.
mode | in | ListFilesMode | One of the ListFilesMode enumeration values.
fieldInclusionMask | in | boolean[] | This input parameter determines which of the six array output parameters are filled by the call. You must supply an array of either zero or six (ListFilesIndexNumIndices) elements. The simplest approach is to supply a zero-element array for the mask. If you do this, then all of the output arrays will be filled. You can make the call more efficient by indicating which output parameters need to be filled and which don't. The potential efficiency improvement is partly a result of reduced network traffic, but comes primarily from reducing the amount of work required on the server. If you supply a six-element mask array, then each element indicates whether or not the corresponding output parameter will be filled by the call. The correspondence between mask array elements and output parameters is defined by the ListFilesIndex enumeration. If, for example, you don't need the file modification times, then you should set mask[ListFilesIndexModTimes] to false.
listedPath | out | org.omg.CORBA.StringHolder | Returns the name of the directory selected by the ListFiles::path and ListFiles::mode. Note that the returned value of this output parameter will only be the same directory as the ListFiles::path parameter when you to set ListFiles::mode to ListFilesModePath.
names | out | StringSeqHolder | This array output parameter returns the names of all files and directories in the requested directory. These names are "short names" in that the full pathname is not provided. The names do include any extension (such as ".sas"). In order to create a full pathname, combine the returned ListFiles::listedPath parameter with an entry in this array using FullName.
typenames | out | StringSeqHolder | Indicates the type of each file. It will be blank for subdirectories. This should be used in conjunction with the following parameter (ListFiles::typeCategories).
typeCategories | out | TypeCategorySeqHolder | Defines the interpretation of each corresponding type name.
sizes | out | IntSeqHolder | The number of bytes in each file or subdirectory. Note that the meaning of this parameter is host-dependent and does not necessarily correspond to the size of the contents of the directory.
modtimes | out | DateTimeSeqHolder | The last-modified time for each file or subdirectory, generally in terms of local time. A particular local time value may be based on the time zone of the SAS IOM server, or it may be the local time of the computer that stored the timestamp. There is no way to determine whose local time is represented. Besides geography, time zone is also set by Daylight Savings Time changes. Thus, the same computer can read and write timestamps in different time zones in different parts of the year. For some files on some hosts, it may be possible to retrieve a date, but not time-of-day. In some other cases, even the date may be unknown. For unknown dates, the SAS base date of midnight, January 1 1960 will generally be returned. Given the number of filesystems with which SAS interacts, the accuracy of this datetime may vary.
engines | out | StringSeqHolder | Returns the SAS library engine associated with each SAS file in a SAS data library. If the file is not a member of a SAS data library, the engine value will be an empty string.

Example

IFileService_1_2 Description

`public interface IFileService_1_2
Extends IFileService_1_1`

Method Summary

void | ListFiles_3 ( java.lang.String path , int mode , boolean[] fieldInclusionMask , org.omg.CORBA.StringHolder listedPath , StringSeqHolder names , StringSeqHolder typenames , TypeCategorySeqHolder typeCategories , LongSeqHolder sizes , DateTimeSeqHolder modtimes , StringSeqHolder engines ) throws ( InvalidFieldMask, DeviceNotMounted, InvalidFieldMode, GenericError ); Lists all files in a directory.

Java Class IFileService_1_2Helper

public class IFileService_1_2Helper

Description
Implementing class for methods (insert, extract, type, id, read, write, narrow) used to manipulate the IFileService_1_2 type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_2Helper

Java Class IFileService_1_2Holder

public class IFileService_1_2Holder

Description
Implementing class for methods (_read, _write, _type) used to process the IFileService_1_2 type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_2Holder

CORBA Exception InvalidFieldMode

Description

Java Class InvalidFieldMode

public class InvalidFieldMode

    java.lang.Object
      |
      +--java.lang.Throwable
            |
            +--java.lang.Exception
                  |
                  +--org.omg.CORBA.UserException
                        |
                        +--com.sas.iom.SAS.IFileService_1_2Package.InvalidFieldMode

Java Class InvalidFieldModeHelper

public class InvalidFieldModeHelper

Description
Implementing class for methods (insert, extract, type, id, read, write) used to manipulate the InvalidFieldMode type.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_2Package.InvalidFieldModeHelper

Java Class InvalidFieldModeHolder

public class InvalidFieldModeHolder

Description
Implementing class for methods (_read, _write, _type) used to process the InvalidFieldMode type as an out parameter.

    java.lang.Object
      |
      +--com.sas.iom.SAS.IFileService_1_2Package.InvalidFieldModeHolder

CORBA Method ListFiles_3

Lists all files in a directory.

Description
This operation lists all files in the specified directory. This operation will fail and return DeviceNotMounted if the device it is attempting to read is not available for read access.

It returns six output arrays. The ListFiles::fieldInclusionMask parameter indicates which of the individual output arrays are filled by the call. A filled output array contains one element for each file in the directory. Thus, all the filled output arrays are the same size and the complete information about a particular file in the directoy is available from the corresponding (same index) elements of each array. When an output array is not filled, it contains zero elements on return from the call.

The semantics of this operation are based on the model of a hierarchical, directory-based filesystem as popularized by Unix and adopted by PC operating systems. For some host filesystems, notably mainframes, the native filesystems do not conform to this model. In these cases, SAS provides an emulation of a hierarchical, directory-based system.

For SAS under OS/390, this method has only experimental status. Its behaviour may change in future releases.

Usage

Java Method ListFiles_3

`void` ListFiles_3 (

        java.lang.String path ,
        int mode ,
        boolean[] fieldInclusionMask ,
        org.omg.CORBA.StringHolder listedPath ,
        StringSeqHolder names ,
        StringSeqHolder typenames ,
        TypeCategorySeqHolder typeCategories ,
        LongSeqHolder sizes ,
        DateTimeSeqHolder modtimes ,
        StringSeqHolder engines
        )
        throws (
                InvalidFieldMask,
                DeviceNotMounted,
                InvalidFieldMode,
                GenericError
        );

Parameter Details

Parameter | Direction | Type | Description
--- | --- | --- | ---
path | in | java.lang.String | This parameter is used together with the mode parameter to determine which directory is listed.
mode | in | int | 32 bit integer: 0: (ListFilesModeRoot) The ListFiles operation will list the host-specific system root directory. The ListFiles::path parameter is ignored. 1: (ListFilesModeUser) The ListFiles operation will list the host-specific user home directory. The ListFiles::path parameter is ignored. 2: (ListFilesModePath) The ListFiles operation will list the directory specified in the path parameter. 3: (ListFilesModeParentofPath) The ListFiles operation will list the directory that is the parent of the directory specified in path. 4: (new mode for ListFiles_3) The ListFiles operation will list the directory specified in the path parameter; directory members will be complete pathnames. Any other mode value will cause ListFiles to fail and return InvalidFieldMode.
fieldInclusionMask | in | boolean[] | This input parameter determines which of the six array output parameters are filled by the call. You must supply an array of either zero or six (ListFilesIndexNumIndices) elements. The simplest approach is to supply a zero-element array for the mask. If you do this, then all of the output arrays will be filled. You can make the call more efficient by indicating which output parameters need to be filled and which don't. The potential efficiency improvement is partly a result of reduced network traffic, but comes primarily from reducing the amount of work required on the server. If you supply a six-element mask array, then each element indicates whether or not the corresponding output parameter will be filled by the call. The correspondence between mask array elements and output parameters is defined by the ListFilesIndex enumeration. If, for example, you don't need the file modification times, then you should set mask[ListFilesIndexModTimes] to false.
listedPath | out | org.omg.CORBA.StringHolder | Returns the name of the directory selected by the ListFiles_3::path and ListFiles_3::mode. Note that the returned value of this output parameter will only be the same directory as the ListFiles_3::path parameter when you to set the mode parameter as 2.
names | out | StringSeqHolder | This array output parameter returns the names of all files and directories in the requested directory. If the mode parameter is NOT 4 then these names are "short names" in that the full pathname is not provided. The names do include any extension (such as ".sas"). If the mode parameter is 4, then these names are full pathnames of the members specfied by the path parameter. If not using a mode parameter of 4, a full pathname can be created by combining the returned ListFiles_3::listedPath parameter with an entry in this array using FullName.
typenames | out | StringSeqHolder | Indicates the type of each file. It will be blank for subdirectories. This should be used in conjunction with the following parameter (ListFiles::typeCategories).
typeCategories | out | TypeCategorySeqHolder | The elements of this array output parameter define the interpretation of the corresponding elements in the output array of type names. See TypeCategory for details.
sizes | out | LongSeqHolder | The number of bytes in each file or subdirectory. Note that the meaning of this parameter is host-dependent and does not necessarily correspond to the size of the contents of the directory.
modtimes | out | DateTimeSeqHolder | The last-modified time for each file or subdirectory, generally in terms of local time. A particular local time value may be based on the time zone of the SAS IOM server, or it may be the local time of the computer that stored the timestamp. There is no way to determine whose local time is represented. Besides geography, time zone is also set by Daylight Savings Time changes. Thus, the same computer can read and write timestamps in different time zones in different parts of the year. For some files on some hosts, it may be possible to retrieve a date, but not time-of-day. In some other cases, even the date may be unknown. For unknown dates, the SAS base date of midnight, January 1 1960 will generally be returned. Given the number of filesystems with which SAS interacts, the accuracy of this datetime may vary.
engines | out | StringSeqHolder | Returns the SAS library engine associated with each SAS file in a SAS data library. If the file is not a member of a SAS data library, the engine value will be an empty string.

Example

    001 import com.sas.iom.SAS.IWorkspace;
    002 import com.sas.iom.SAS.IWorkspaceHelper;
    003 import com.sas.iom.SAS.ILanguageService;
    004 import com.sas.iom.SAS.IFileService;
    005 import com.sas.iom.SAS.IFileService_1_2;
    006 import com.sas.iom.SAS.IFileService_1_2Helper;
    007 import com.sas.services.connection.BridgeServer;
    008 import com.sas.services.connection.ConnectionFactoryAdminInterface;
    009 import com.sas.services.connection.ConnectionFactoryConfiguration;
    010 import com.sas.services.connection.ConnectionFactoryInterface;
    011 import com.sas.services.connection.ConnectionFactoryManager;
    012 import com.sas.services.connection.ConnectionInterface;
    013 import com.sas.services.connection.ManualConnectionFactoryConfiguration;
    014 import com.sas.services.connection.Server;
    015
    016 import com.sas.iom.SAS.IFileServicePackage.AssignmentContextSeqHolder;
    017 import com.sas.iom.SAS.IFileServicePackage.ListFilesMode;
    018 import com.sas.iom.SAS.IFileServicePackage.TypeCategorySeqHolder;
    019 import com.sas.iom.SASIOMDefs.DateTimeSeqHolder;
    020 import com.sas.iom.SASIOMDefs.LongSeqHolder;
    021 import com.sas.iom.SASIOMDefs.LongLongSeqHolder;
    022 import com.sas.iom.SASIOMDefs.StringSeqHolder;
    023
    024 import java.util.Properties;
    025 import java.util.Enumeration;
    026 import java.lang.*;
    027
    028
    029 public class wslistfiles
    030 {
    031   public static void main ( String argv[])
    032   {
    033      String path = null;
    034      String [] stringSeq = null;
    035      String [] stringSeq2 = null;
    036      com.sas.iom.SAS.IFileServicePackage.TypeCategory [] typeCat = null;
    037
    038      LongSeqHolder sizesholder = new LongSeqHolder();
    039      LongLongSeqHolder sizes64holder = new LongLongSeqHolder();
    040      int [] sizes = null;
    041      long [] sizes64 = null;
    042
    043      ListFilesMode mode = ListFilesMode.ListFilesModePath;
    044
    045      boolean[] fieldInclusionMask = new boolean[0];
    046      org.omg.CORBA.StringHolder listedPath = new org.omg.CORBA.StringHolder();
    047      org.omg.CORBA.StringHolder shortName = new org.omg.CORBA.StringHolder();
    048      org.omg.CORBA.StringHolder parentName = new org.omg.CORBA.StringHolder();
    049      StringSeqHolder names = new StringSeqHolder();
    050      StringSeqHolder typenames = new StringSeqHolder();
    051      StringSeqHolder paths = new StringSeqHolder();
    052      StringSeqHolder accessMethods = new StringSeqHolder();
    053      AssignmentContextSeqHolder assignmentContexts = new AssignmentContextSeqHolder();
    054      TypeCategorySeqHolder typeCategories = new TypeCategorySeqHolder();
    055
    056      DateTimeSeqHolder modtimes = new DateTimeSeqHolder();
    057      StringSeqHolder engines = new StringSeqHolder();
    058      int fileIndex = 0;
    059
    060      try
    061      {
    062         // identify the IOM server
    063         String classID = Server.CLSID_SAS;
    064         String host = "wsttk2.na.sas.com";
    065         int port = 6785;
    066         Server server = new BridgeServer(classID,host,port);
    067
    068         // make a connection factory configuration with the server
    069         ConnectionFactoryConfiguration cxfConfig =
    070            new ManualConnectionFactoryConfiguration(server);
    071
    072         // get a connection factory manager
    073         ConnectionFactoryManager cxfManager = new ConnectionFactoryManager();
    074
    075         // get a connection factory that matches the configuration
    076         ConnectionFactoryInterface cxf = cxfManager.getFactory(cxfConfig);
    077
    078         // get the administrator interface
    079         ConnectionFactoryAdminInterface admin = cxf.getAdminInterface();
    080
    081         // get a connection
    082         String userName = "[username]";
    083         String password = "[password]";
    084         ConnectionInterface cx = cxf.getConnection(userName,password);
    085         org.omg.CORBA.Object obj = cx.getObject();
    086         IWorkspace iWorkspace = IWorkspaceHelper.narrow(obj);
    087
    088         System.out.println("Starting File Service");
    089         IFileService fs = iWorkspace.FileService();
    090         IFileService_1_2 fs2 = IFileService_1_2Helper.narrow(fs);
    091
    092         // Path to list
    093         path = "\\\\wsttk2.na.sas.com\\public";
    094
    095         try
    096         {
    097            System.out.println("Testing ListFiles()");
    098
    099            fs.ListFiles(path, ListFilesMode.ListFilesModePath, fieldInclusionMask,
    100                         listedPath, names, typenames, typeCategories, sizesholder,
    101                         modtimes, engines);
    102
    103            System.out.println("listedPath: " + listedPath.value);
    104            stringSeq = names.value;
    105            stringSeq2 = typenames.value;
    106            typeCat = typeCategories.value;
    107            sizes = sizesholder.value;
    108            for(fileIndex=0; fileIndex < stringSeq.length; fileIndex++)
    109            {
    110               System.out.println("File: " + stringSeq[fileIndex]
    111                                  + " TypeName: " + stringSeq2[fileIndex]
    112                                  + " TypeCategory: " + typeCat[fileIndex].value()
    113                                  + " Size: " + sizes[fileIndex]);
    114            }
    115         }
    116         catch(Exception e) {
    117            System.out.println("Exception encountered in ListFiles()");
    118            System.out.println(e);
    119         }
    120
    121         try
    122         {
    123           System.out.println("Testing ListFiles_3()");
    124           int new_mode_parm = 4;  // return full path
    125           fs2.ListFiles_3(path, new_mode_parm, fieldInclusionMask,
    126                           listedPath, names, typenames, typeCategories, sizes64holder,
    127                           modtimes, engines);
    128
    129           System.out.println("listedPath: " + listedPath.value);
    130
    131           stringSeq = names.value;
    132           stringSeq2 = typenames.value;
    133           typeCat = typeCategories.value;
    134           sizes64 = sizes64holder.value;
    135           for(fileIndex=0; fileIndex < stringSeq.length; fileIndex++)
    136           {
    137              System.out.println("File: " + stringSeq[fileIndex]
    138                                  + " TypeName: " + stringSeq2[fileIndex]
    139                                  + " TypeCategory: " + typeCat[fileIndex].value()
    140                                  + " Size: " + sizes64[fileIndex]);
    141           }
    142         }
    143
    144         catch(Exception e) {
    145            System.out.println("Exception encountered in ListFiles_3()");
    146            System.out.println(e);
    147         }
    148      }
    149      catch (Exception e) {
    150         System.out.println("Exception encountered");
    151         e.printStackTrace();
    152      }
    153
    154      System.out.println("Done!" );
    155   }
    156 }