net.sf.farrago.namespace.mock
Class MedMockNameDirectory

java.lang.Object
  extended by net.sf.farrago.plugin.FarragoAbstractPluginBase
      extended by net.sf.farrago.namespace.impl.MedAbstractBase
          extended by net.sf.farrago.namespace.impl.MedAbstractNameDirectory
              extended by net.sf.farrago.namespace.mock.MedMockNameDirectory
All Implemented Interfaces:
FarragoMedNameDirectory

 class MedMockNameDirectory
extends MedAbstractNameDirectory

MedMockNameDirectory provides a mock implementation of the FarragoMedNameDirectory interface.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/namespace/mock/MedMockNameDirectory.java#13 $
Author:
John V. Sichi

Field Summary
(package private) static String COLUMN_NAME
           
(package private)  String scope
           
(package private)  MedMockDataServer server
           
 
Fields inherited from class net.sf.farrago.plugin.FarragoAbstractPluginBase
BOOLEAN_CHOICES_DEFAULT_FALSE, BOOLEAN_CHOICES_DEFAULT_TRUE, EMPTY_DRIVER_PROPERTIES
 
Constructor Summary
MedMockNameDirectory(MedMockDataServer server, String scope)
           
 
Method Summary
 FarragoMedColumnSet lookupColumnSet(FarragoTypeFactory typeFactory, String foreignName, String[] localName)
          Looks up a FarragoMedColumnSet by name.
 FarragoMedNameDirectory lookupSubdirectory(String foreignName)
          Looks up an immediate subdirectory by name.
 boolean queryMetadata(FarragoMedMetadataQuery query, FarragoMedMetadataSink sink)
          Executes a query against the metadata contained by this directory.
 
Methods inherited from class net.sf.farrago.namespace.impl.MedAbstractNameDirectory
newImportedColumnSet
 
Methods inherited from class net.sf.farrago.plugin.FarragoAbstractPluginBase
getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getLongProperty, getShortProperty, requireProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COLUMN_NAME

static final String COLUMN_NAME
See Also:
Constant Field Values

server

final MedMockDataServer server

scope

String scope
Constructor Detail

MedMockNameDirectory

MedMockNameDirectory(MedMockDataServer server,
                     String scope)
Method Detail

lookupColumnSet

public FarragoMedColumnSet lookupColumnSet(FarragoTypeFactory typeFactory,
                                           String foreignName,
                                           String[] localName)
                                    throws SQLException
Description copied from interface: FarragoMedNameDirectory
Looks up a FarragoMedColumnSet by name. This method supports Farrago's capability to reference a foreign table directly without having to create local metadata about it.

Parameters:
typeFactory - FarragoTypeFactory to use for defining types
foreignName - simple name of foreign ColumnSet to lookup as a direct child of this directory
localName - compound identifier by which FarragoMedColumnSet will be referenced locally
Returns:
FarragoMedColumnSet, or null if none found
Throws:
SQLException - if metadata access is unsuccessful

lookupSubdirectory

public FarragoMedNameDirectory lookupSubdirectory(String foreignName)
                                           throws SQLException
Description copied from interface: FarragoMedNameDirectory
Looks up an immediate subdirectory by name.

Specified by:
lookupSubdirectory in interface FarragoMedNameDirectory
Overrides:
lookupSubdirectory in class MedAbstractNameDirectory
Parameters:
foreignName - identifier for subdirectory
Returns:
subdirectory, or null if none found
Throws:
SQLException - if metadata access is unsuccessful

queryMetadata

public boolean queryMetadata(FarragoMedMetadataQuery query,
                             FarragoMedMetadataSink sink)
                      throws SQLException
Description copied from interface: FarragoMedNameDirectory
Executes a query against the metadata contained by this directory. This method supports the SQL/MED IMPORT FOREIGN SCHEMA statement, and general metadata browsing.

NOTE: the supplied sink may be used to implement passive aborts by throwing an unchecked exception when an abort request is detected.

Specified by:
queryMetadata in interface FarragoMedNameDirectory
Overrides:
queryMetadata in class MedAbstractNameDirectory
Parameters:
query - the query to execute
sink - target which receives the query results
Returns:
true if the query executed successfully; false if the requested query type was not supported
Throws:
SQLException - if metadata access is unsuccessful (but not if query is unsupported)