net.sf.farrago.namespace
Interface FarragoMedMetadataQuery

All Known Implementing Classes:
MedMetadataQueryImpl

public interface FarragoMedMetadataQuery

FarragoMedMetadataQuery defines a metadata query processed by FarragoMedNameDirectory. For some namespaces, it may be more efficient to query different kinds of metadata simultaneously; for example, a flat-file reader might return all files in a directory as tables, with the header of each file providing a column list. For this reason, the interface allows more than one object type to be queried together.

Object types are identified using CWM class names. The following types are currently defined (see members starting with prefix "OTN_"):

Results from metadata queries are written via the FarragoMedMetadataSink interface. Only immediate contents of the queried directory should be returned; some results may be subdirectories which can be queried independently.

Note that implementation of query filtering and projection is always optional. An unsophisticated implementation is free to produce results which do not match all restrictions, so consumers are responsible for reapplying them to each object produced.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/namespace/FarragoMedMetadataQuery.java#7 $
Author:
John V. Sichi

Field Summary
static String OTN_COLUMN
           
static String OTN_PACKAGE
           
static String OTN_SCHEMA
           
static String OTN_TABLE
           
 
Method Summary
 Map<String,FarragoMedMetadataFilter> getFilterMap()
          Retrieves a map of filters to be applied to queried metadata.
 Set<String> getResultObjectTypes()
          Retrieves a set of result object types to be returned by the query, identified by object type name.
 

Field Detail

OTN_TABLE

static final String OTN_TABLE
See Also:
Constant Field Values

OTN_COLUMN

static final String OTN_COLUMN
See Also:
Constant Field Values

OTN_SCHEMA

static final String OTN_SCHEMA
See Also:
Constant Field Values

OTN_PACKAGE

static final String OTN_PACKAGE
See Also:
Constant Field Values
Method Detail

getFilterMap

Map<String,FarragoMedMetadataFilter> getFilterMap()
Retrieves a map of filters to be applied to queried metadata. Map keys are object type names, and values are instances of the FarragoMedMetadataFilter interface. The conjunction of all relevant filters is used. Metadata queries take place in the context of an instance of FarragoMedNameDirectory, which provides additional filtering context.

Returns:
map

getResultObjectTypes

Set<String> getResultObjectTypes()
Retrieves a set of result object types to be returned by the query, identified by object type name.

Returns:
Set