com.sap.conn.jco
Interface JCoRepository

All Known Subinterfaces:
JCoCustomRepository

public interface JCoRepository

JCo metadata repositories are needed to get the technical description of functions and parameters used for fulfilling RFC calls.

This interface covers the implementation of basic repository functionality such as caching and the persistence of metadata.
The JCoCustomRepository serves as a base interface for more elaborate repositories. To fetch the metadata at runtime from a back-end system use the JCoRepository instance returned by a JCoDestination.
Keep in mind, that the functions and parameter definitions are always the same inside of one cluster of SAP application server hosts, but can differ from other clusters.

See Also:
JCoCustomRepository

Method Summary
 void clear()
          Clear allows to empty both the function template cache as well as the record metadata cache completely.
All metadata will be looked up again in the original source, which is generally much more expensive than looking it up in the cache.
 java.lang.String[] getCachedClassMetaDataNames()
          Returns the names of the cached classes as a string array.
 java.lang.String[] getCachedFunctionTemplateNames()
          Returns the names of the cached functions as a string array.
 java.lang.String[] getCachedRecordMetaDataNames()
          Returns the names of the cached structures as a string array.
 JCoClassMetaData getClassMetaData(java.lang.String className)
          Returns the metadata for the passed class/interface name.
 JCoFunction getFunction(java.lang.String functionName)
          Returns a JCoFunction with initial parameters for the passed function name.
 JCoListMetaData getFunctionInterface(java.lang.String functionName)
          Returns the metadata for the passed function.
 JCoFunctionTemplate getFunctionTemplate(java.lang.String functionName)
          Returns the template for the passed function.
 JCoRepositoryMonitor getMonitor()
          Returns a newly created or available monitor instance for the repository.
 java.lang.String getName()
          Returns the repository name.
 JCoRecordMetaData getRecordMetaData(java.lang.String recordName)
          Returns the metadata for the passed structure/table name.
 JCoRequest getRequest(java.lang.String functionName)
          Returns a JCoRequest with initial parameters for the passed function name.
 JCoRecordMetaData getStructureDefinition(java.lang.String structureName)
          Returns the metadata for the passed structure/table name.
 boolean isUnicode()
          Returns whether the repository contains both Unicode and non-Unicode metadata.
Repositories containing metadata for SAP systems running on non-Unicode codepages cannot contain metadata for unicode structures.
 void load(java.io.Reader reader)
          Loads the repository from the given reader.
Note that the existing cache is cleared completely before reading.
 void removeClassMetaDataFromCache(java.lang.String className)
          Removes a class metadata instance from the local cache.
 void removeFunctionTemplateFromCache(java.lang.String functionName)
          Removes a function template from the local cache.
 void removeRecordMetaDataFromCache(java.lang.String recordName)
          Removes a record metadata from the local cache.
 void save(java.io.Writer writer)
          Saves this repository using the given writer.
This method does not close the given writer.
 

Method Detail

getName

java.lang.String getName()
Returns the repository name.

Returns:
the name of the repository

getFunctionTemplate

JCoFunctionTemplate getFunctionTemplate(java.lang.String functionName)
                                        throws JCoException
Returns the template for the passed function.

Parameters:
functionName - the name of the function for which the template is being returned
Returns:
the template for the function or null if the function template could not be retrieved
Throws:
JCoException - if another error occurred during the retrieval of the function interface with the group field set appropriately

getFunction

JCoFunction getFunction(java.lang.String functionName)
                        throws JCoException
Returns a JCoFunction with initial parameters for the passed function name.

Parameters:
functionName - the name of the function for which the JCoFunction is being returned
Returns:
the JCoFunction for the function name or null if the underlying function template could not be retrieved
Throws:
JCoException - if another error occurred during the retrieval of the function interface with the group field set appropriately

getRequest

JCoRequest getRequest(java.lang.String functionName)
                      throws JCoException
Returns a JCoRequest with initial parameters for the passed function name.

Parameters:
functionName - the name of the function for which the request is being returned.
Returns:
the request for the function name or null if the underlying function template could not be retrieved
Throws:
JCoException - if another error occurred during the retrieval of the function interface with the group field set appropriately

getFunctionInterface

JCoListMetaData getFunctionInterface(java.lang.String functionName)
                                     throws JCoException
Returns the metadata for the passed function.

Parameters:
functionName - the name of the function for which the metadata is being returned
Returns:
the metadata for the function or null if the function couldn't be found
Throws:
JCoException - if an error occurred during the retrieval of the function interface

getRecordMetaData

JCoRecordMetaData getRecordMetaData(java.lang.String recordName)
                                    throws JCoException
Returns the metadata for the passed structure/table name.

Parameters:
recordName - the name of the structure or table for which the metadata is being returned
Returns:
the metadata for the given name or null if the structure couldn't be found
Throws:
JCoException - if an error occurred during the retrieval of the data structure definition

getStructureDefinition

JCoRecordMetaData getStructureDefinition(java.lang.String structureName)
                                         throws JCoException
Returns the metadata for the passed structure/table name.

Parameters:
structureName - the name of the structure or table for which the metadata is being returned
Returns:
the metadata for the given name or null if the structure couldn't be found
Throws:
JCoException - if an error occurred during the retrieval of the data structure definition

getClassMetaData

JCoClassMetaData getClassMetaData(java.lang.String className)
                                  throws JCoException
Returns the metadata for the passed class/interface name.

Parameters:
className - the name of the class or interface for which the metadata is being returned
Returns:
the metadata for the given name or null if the class couldn't be found
Throws:
JCoException - if an error occurred during the retrieval of the class metadata definition

removeFunctionTemplateFromCache

void removeFunctionTemplateFromCache(java.lang.String functionName)
Removes a function template from the local cache.

Parameters:
functionName - the name of the function to be removed from the cache

removeRecordMetaDataFromCache

void removeRecordMetaDataFromCache(java.lang.String recordName)
Removes a record metadata from the local cache.

Parameters:
recordName - the name of the structure to be removed from the cache

removeClassMetaDataFromCache

void removeClassMetaDataFromCache(java.lang.String className)
Removes a class metadata instance from the local cache.

Parameters:
className - the name of the class to be removed from the cache

getCachedFunctionTemplateNames

java.lang.String[] getCachedFunctionTemplateNames()
Returns the names of the cached functions as a string array.

Returns:
a string array of the cached functions (length 0 if the cache is empty)

getCachedRecordMetaDataNames

java.lang.String[] getCachedRecordMetaDataNames()
Returns the names of the cached structures as a string array.

Returns:
a string array of the cached structures (length 0 if the cache is empty)

getCachedClassMetaDataNames

java.lang.String[] getCachedClassMetaDataNames()
Returns the names of the cached classes as a string array.

Returns:
a string array of the cached classes (length 0 if the cache is empty)

isUnicode

boolean isUnicode()
Returns whether the repository contains both Unicode and non-Unicode metadata.
Repositories containing metadata for SAP systems running on non-Unicode codepages cannot contain metadata for unicode structures.

Returns:
true, if the repository contains the metadata for Unicode representation of the contained metadata, false otherwise

clear

void clear()
Clear allows to empty both the function template cache as well as the record metadata cache completely.
All metadata will be looked up again in the original source, which is generally much more expensive than looking it up in the cache. Therefore use this method carefully and avoid it in application code.


getMonitor

JCoRepositoryMonitor getMonitor()
Returns a newly created or available monitor instance for the repository.

Returns:
JCoRepositoryMonitor instance

load

void load(java.io.Reader reader)
          throws java.io.IOException
Loads the repository from the given reader.
Note that the existing cache is cleared completely before reading. That is after successful completion of the load operation this repository's cache contains only the read metadata. In case of an error the cache will be empty.
This method does not close the given reader. Obsolete trailing characters are ignored and remain available for further reading.

Parameters:
reader - the reader to be used for loading this repository
Throws:
java.io.IOException - if an I/O error occurs
JCoRuntimeException - with key JCO_ERROR_REPOSITORY_SERIALIZATION if the read data is syntactically or semantically incorrect
Since:
3.0.10

save

void save(java.io.Writer writer)
          throws java.io.IOException
Saves this repository using the given writer.
This method does not close the given writer.

Parameters:
writer - the writer used to save this repository
Throws:
java.io.IOException - if an I/O error occurs
Since:
3.0.10


Copyright © 2008-2016 SAP SE. All Rights Reserved.