Provide information about a client-selected list of formats and informats.
The EnumerateFormats operation accepts a variety of filtering criteria and returns this component to represent the list of formats and informats which were selected.
The enumerator lets you move, in blocks (for better performance) through the returned list to get information about the formats. As you move through the list, it remembers you position.
When initially returned, it is at index 0 in the list. You can move it explicitly by changing the CurrentIndex attribute. The current index moves implicitly each time you call GetInfo to read information about a block of formats.
CORBA Definitions | |
attribute Factory | A link back to the FormatService |
method Close | Done with enumerator. |
method GetFilter | Examine the filters that were used to create the enumerator. |
attribute NumFormats | Number of formats being enumerated. (The number found after filtering.) |
attribute CurrentIndex | Current read position in the enumeration. |
method GetInfo | Read info on formats associated with the enumerator. |
Java Classes | |
IFormatEnumeratorHelper | Used to manipulate the IFormatEnumerator type |
IFormatEnumeratorHolder | Used to process the IFormatEnumerator type as an out parameter |
Java Interfaces | |
IFormatEnumerator | Provide information about a client-selected list of formats and informats. |
Java Interface IFormatEnumerator |
Provide information about a client-selected list of formats and informats.
IFormatEnumerator Description
The EnumerateFormats operation accepts a variety of filtering
criteria and returns this component to represent the list of formats
and informats which were selected.
The enumerator lets you move, in blocks (for better performance) through the returned list to get information about the formats. As you move through the list, it remembers you position.
When initially returned, it is at index 0 in the list. You can move it explicitly by changing the CurrentIndex attribute. The current index moves implicitly each time you call GetInfo to read information about a block of formats.
public interface IFormatEnumerator
extends org.omg.CORBA.Object
Method Summary
void | Close
()
Done with enumerator. |
void | GetFilter
(
IFTypeSeqHolder IFTypesFilter ,
NameMatchOpHolder matchOp ,
org.omg.CORBA.StringHolder nameFilterString ,
BaseTypeSeqHolder baseTypesFilter ,
ImplTypeSeqHolder implTypesFilter ,
org.omg.CORBA.StringHolder keywordsFilter ,
FormattingMethodSeqHolder formattingMethodsFilter
)
throws ( GenericError ); Examine the filters that were used to create the enumerator. |
void | GetInfo
(
int startIndex ,
int numToRead ,
IFTypeSeqHolder IFTypes ,
StringSeqHolder canonicalNames ,
BaseTypeSeqHolder baseTypes ,
IntSeqHolder minimumWidths ,
IntSeqHolder maximumWidths ,
IntSeqHolder defaultWidths ,
IntSeqHolder minimumDecimals ,
IntSeqHolder maximumDecimals ,
IntSeqHolder defaultDecimals ,
IntSeqHolder justifications ,
ImplTypeSeqHolder implTypes ,
FormattingMethodSeqHolder formattingMethods ,
StringSeqHolder correspondings ,
StringSeqHolder keywords ,
StringSeqHolder descriptions ,
StringSeqHolder examples
)
throws ( GenericError ); Read info on formats associated with the enumerator. |
Java Class IFormatEnumeratorHelper |
public class IFormatEnumeratorHelper
Description
Implementing class for methods (insert, extract, type, id, read, write, narrow) used to manipulate the
IFormatEnumerator type.
java.lang.Object | +--com.sas.iom.SAS.IFormatEnumeratorHelper
Java Class IFormatEnumeratorHolder |
public class IFormatEnumeratorHolder
Description
Implementing class for methods (_read, _write, _type) used to process the
IFormatEnumerator type as an out parameter.
java.lang.Object | +--com.sas.iom.SAS.IFormatEnumeratorHolder
CORBA Attribute Factory (readonly) |
A link back to the FormatService
Description
A FormatService which created this component.
Usage
Java Method Factory |
public IFormatService Factory ();
CORBA Method Close |
Done with enumerator.
Description
Call this operation when you are done using an enumerator to free up
resources within SAS.
Usage
Java Method Close |
void
Close (
)
Example
CORBA Method GetFilter |
Examine the filters that were used to create the enumerator.
Description
Usage
Java Method GetFilter |
void
GetFilter (
IFTypeSeqHolder IFTypesFilter , NameMatchOpHolder matchOp , org.omg.CORBA.StringHolder nameFilterString , BaseTypeSeqHolder baseTypesFilter , ImplTypeSeqHolder implTypesFilter , org.omg.CORBA.StringHolder keywordsFilter , FormattingMethodSeqHolder formattingMethodsFilter ) throws ( GenericError );
Parameter Details
Parameter | Direction | Type | Description |
---|---|---|---|
IFTypesFilter | out | IFTypeSeqHolder | Shows whether filtering was done by formats versus informat. A zero-length array indicates no filtering on this distinction. |
matchOp | out | NameMatchOpHolder | Shows the naming matching operation. |
nameFilterString | out | org.omg.CORBA.StringHolder | The filtering string used to restrict the list according to name. If the string is empty (zero length) and the GetFilter::matchOp is NameMatchOpContains, then no name restriction was used. |
baseTypesFilter | out | BaseTypeSeqHolder | Shows whether filtering was done by numeric versus character. A zero-length array indicates no filtering on this distinction. |
implTypesFilter | out | ImplTypeSeqHolder | Shows whether filtering was done by implementation type (SAS installed versus PROC FORMAT). A zero-length array indicates no filtering on this distinction. |
keywordsFilter | out | org.omg.CORBA.StringHolder | If a keyword was used to filter enumerations, it is returned here. A zero-length string indicates no filtering. |
formattingMethodsFilter | out | FormattingMethodSeqHolder | Shows whether filtering was done according to what formatting method call the formats/informats support. A zero-length array indicates no filtering on this distinction. |
Example
CORBA Attribute NumFormats (readonly) |
Number of formats being enumerated. (The number found after filtering.)
Description
Usage
Java Method NumFormats |
public int NumFormats ();
CORBA Attribute CurrentIndex |
Current read position in the enumeration.
Description
Usage
Java Method CurrentIndex |
public int CurrentIndex (); public void CurrentIndex ( int CurrentIndex );
CORBA Method GetInfo |
Read info on formats associated with the enumerator.
Description
Get a variety of information about each format in the enumeration.
Some of the information is available only for well-known formats supplied by SAS Institute. Formats and informats created using PROC FORMAT or SAS/Toolkit do not yet have as much descriptive information available.
Usage
Java Method GetInfo |
void
GetInfo (
int startIndex , int numToRead , IFTypeSeqHolder IFTypes , StringSeqHolder canonicalNames , BaseTypeSeqHolder baseTypes , IntSeqHolder minimumWidths , IntSeqHolder maximumWidths , IntSeqHolder defaultWidths , IntSeqHolder minimumDecimals , IntSeqHolder maximumDecimals , IntSeqHolder defaultDecimals , IntSeqHolder justifications , ImplTypeSeqHolder implTypes , FormattingMethodSeqHolder formattingMethods , StringSeqHolder correspondings , StringSeqHolder keywords , StringSeqHolder descriptions , StringSeqHolder examples ) throws ( GenericError );
Parameter Details
Parameter | Direction | Type | Description |
---|---|---|---|
startIndex | in | int | From 0 to the number of formats, or -1 to indicate starting at the current index. |
numToRead | in | int | For maximum scalability, to handle the possibility of many thousands
of formats in an enumerator, you can limit the number of formats
read by each method call. For interactive applications,
the number of formats that would be
listed in user's current window would be a logical choice.
The remaining arrays will be the requested length unless the end of the list is reached first. Where such performance factors are not a major concern, a value of -1 can be passed to indicate that all remaining formats should be obtained. After reading, the current index (CurrentIndex) of the enumerator is updated to point to the next item.
|
IFTypes | out | IFTypeSeqHolder | Distinguishes format versus informat for each of the items returned. |
canonicalNames | out | StringSeqHolder | The name of each format or informat. Where a single format has aliases, this is the official name. |
baseTypes | out | BaseTypeSeqHolder | Distinguishes numeric versus character for each of the items returned. |
minimumWidths | out | IntSeqHolder | The minimum legal width (w) value for the format or informat. |
maximumWidths | out | IntSeqHolder | The maximum legal width (w) value for the format or informat. |
defaultWidths | out | IntSeqHolder | The width (w) value used when none is specified.
When a format has not yet been loaded, SAS may not be able to determine the default width efficiently. In this case, a -1 will be returned for these fields. If this information is needed, load the format and enumerate it again. |
minimumDecimals | out | IntSeqHolder | The minimum legal decimals (d) value for the format or informat. |
maximumDecimals | out | IntSeqHolder | The maximum legal decimals (d) value for the format or informat. |
defaultDecimals | out | IntSeqHolder | The decimals (d) value used when none is specified.
When a format has not yet been loaded, SAS may not be able to determine the default width efficiently. In this case, a -1 will be returned for these fields. If this information is needed, load the format and enumerate it again. |
justifications | out | IntSeqHolder | |
implTypes | out | ImplTypeSeqHolder | The implementation type (SAS installed versus PROC FORMAT) for each of the items returned. |
formattingMethods | out | FormattingMethodSeqHolder | An indication of the suggested formatting or informatting method call to use with each item being retrieved. Some formats/informats are binary and do not support any of the FormatService formatting methods. For others, SAS does not have enough information to know. |
correspondings | out | StringSeqHolder | For informats, the "corresponding" format is the one most able
to create a character string similar to the original input. Often, this
will not be the same as the original input. Removal of extra blanks or
changes in field justification are examples of common changes. For formats,
the "corresponding" informat would be the one most able to approximate the
original data
value. Because of the difficulties in representing floating point numbers in
different forms, the value will often be slightly different from the original.
In all cases, there is no guarantee of round-trip conversion or exactness in
the results.
For many formats and informats, there is no corresponding format/informat (or if there is one, it is not known). This is indicated by an empty string. |
keywords | out | StringSeqHolder | Lists all keywords with which this format/informat has been labelled.
SAS installed formats and informats can have descriptive keywords to help categorize their intended function. These keywords provide more specific categorizations than the numeric versus character distinction known to the SAS Language. The following keywords have already been standardized: "num" - numbers "curr" - currency "char" - character "date" - date without time-of-day specificity "datetime" - both date and time "time" - time of day (without indication of any particular day)Additional keywords may be added in the future. A single format/informat can potentially be labelled with more than one keyword. |
descriptions | out | StringSeqHolder | A description written by the developer of the format or informat. |
examples | out | StringSeqHolder | Conversion examples written by the developer of the format or informat. |
Example