|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object jsdai.lang.SdaiCommon jsdai.lang.SdaiRepository
An SdaiRepository
is the physical container to store persistently:
- SdaiModel
s with entity instances within them;
- SchemaInstance
s which logically group SdaiModel
s.
Throughout this documentation repository is used as a synonym for SdaiRepository
.
Conceptionally, the SdaiRepository
can be represented by
the following EXPRESS entity:
ENTITY SdaiRepository;
name
: String;
location
: OPTIONAL Object;
description
: LIST [1:?] OF String;
models
: SET [0:?] OF SdaiModel;
schemas
: SET [0:?] OF SchemaInstance;
changeDate
: String;
author
: LIST [1:?] OF String;
organization
: LIST [1:?] OF String;
preprocessorVersion
: String;
originatingSystem
: String;
authorization
: String;
defaultLanguage
: OPTIONAL String;
contextIdentifiers
: LIST [0:?] OF String;
INVERSE
session
: SdaiSession FOR knownServers
;
UNIQUE
UR1: name, session;
END_ENTITY;
The attributes description
, author
, organization
,
defaultLanguage
and contextIdentifiers
are read-write, whereas all other attributes are read-only.
For each attribute a corresponding get method (or methods in the case of changeDate
)
is defined. The changeDate
can be retrieved either as String
or
as long
. The attributes preprocessorVersion
, originatingSystem
,
authorization
and defaultLanguage
also have corresponding set methods.
The persistent storage is realized through the special
directories containing binary data files.
For every SdaiRepository
a corresponding directory with the
SdaiRepository
name exists. By default these directories are placed
into a special repositories-directory in the local file system.
This is specified by the property "repositories" in the configuration file
jsdai.properties.
Example:
repositories=D:\\repos
Other locations are also possible.
A user should never manipulate these directories and binary data files.
An access to them is allowed only through the JSDAI methods.
In general, the repositories can be accessed from either the local file system
or remotely from a JSDAI-Server.
After opening a session all repositories are closed, except a special one
named "SystemRepository" which contains dictionary and mapping data.
Each model in this repository can be at most read-only, that is, an attempt
to set read-write mode to such models will lead to an SdaiException
.
Repositories can be opened with openRepository()
and closed with closeRepository() method.
Repositories are mainly selected by SdaiSession.getKnownServers() to get
all available repositories or by SdaiSession.getActiveServers() to get
only the currently open ones. Initially, after openSession(), the set returned by
getKnownServers() contains all SdaiRepositories
located in the
special repositories-directory.
The remote repositories or repositories located at other places on the file system
can be added to the known servers with linkRepository() method. New repositories are created with the
SdaiSession
methods createRepository() and importClearTextEncoding().
No longer needed repositories are removed with deleteRepository() method.
Each repository has a unique non-empty name for identification. The name is assigned by createRepository() or importClearTextEncoding() methods and cannot be changed afterwards. During creation of a repository an empty string can be passed to the name parameter to signal JSDAI to create a temporary repository. The name of the local repository can consist only of the following characters: upper case letters from 'A' to 'Z', lower case letters from 'a' to 'z', digits '0', '1',..., '9' and underscore '_'. Moreover, the name must start from a letter. If in importClearTextEncoding() method the repository name is extracted from the header of the imported file, this name is corrected to conform the above rules. In the case of the remote repository, its name, in addition, is allowed to contain the following characters: "file://", "/" and ".".
The repositories need to be located somewhere. The location is either
- local in the default repositories-directory;
- local in the specified directory as SDAI file;
- remote on a JSDAI-Server;
- unknown in the case of a degenerated repository (see below).
The actual location can be accessed with getLocation() method. By default the repositories are created locally in the specific repositories-directory. But it is possible to put repositories in other places, either locally or remotely. Locally, on an available file system by specifying a path during creation, or remotely by specifying the domain or INET of the JSDAI-Server. However, only repositories located in the default repositories-directory are by default available after openSession(). The location of a repository cannot be changed once it is created except for that the location gots invalid.
It is not possible to create a repository on an unknown location.
But a repository may contain instances which reference other instances in
other repositories which do not belong to knownServers
.
In this case only the name of the referenced repositories is known, but not
their location. We call them degenerated repositories. Trying to open a
degenerated repository results in the
SdaiException
"RP_NAVL - Repository not available".
If getLocation() is applied to such a repository, then the
SdaiException
"VA_NEXS - Value does not exist" is thrown.
The degenerated repositories can be promoted to ordinary repositories
with importClearTextEncoding() or linkRepository() methods by using
the same repository name.
With linkRepository() method it is possible to link local or remote repositories to the current session. With unlinkRepository() closed and for the user not needed repositories can be made unknown to the current session.
The methods createRepository(), importClearTextEncoding() and linkRepository() have parameters for the repository name and the repository location. The following combinations of values for these parameters are allowed:
1) null, xxx : This is possible only for importClearTextEncoding() method.
If this case happens, the repository name is taken from the entity
file_name
in the header of an exchange structure from
which the encoding is imported.
2) String1, xxx: String1 is used as the repository name.
3) "", null : A temporary repository is created with an artificial name. Temporary repositories are automatically removed during closeSession() and are not available after the next openSession().
4) xxx, String2: The repository is created at the location indicated by String2. If String2 ends with ".sdai" then repository stored in SDAI file is created. If String2 ends with ".sdai" and the first parameter is null or empty string then repository name is derived from SDAI file name.
5) String1, String2: String1 is the name of a remote repository. String2 is the username and password with the prefix "//" and the last character "@". Example: "//guest:passwd@". A server for remote access should be named by prefixing it with "//" and giving the domain name. Example: Repository "test1" on the domain "lksoft.de" has to be named "//test1.lksoft.de".
Repositories have two sets of attributes: header properties and contents.
The header properties are the following:
- description
- time_stamp
- author
- organization
- preprocessor_version
- originating_system
- authorization
- default_language
- context_identifiers.
The contents consists of:
- models
- schemas.
To access the header properties for reading, the repository must be opened. To modify the header attributes, a read-write transaction has to be started additionally.
To access the contents data, the repository must be opened and
either a read-only or a read-write transaction has to be started.
When transaction access is ended, the contents of a
repository is no longer available. The repository contents cannot be
manipulated directly by an application. Manipulations are only possible
with the following methods:
- createSdaiModel()
- deleteSdaiModel()
- renameSdaiModel()
- createSchemaInstance()
- delete() (in class SchemaInstance
).
Method Summary | |
void |
addSdaiListener(SdaiListener listener)
Adds SdaiListener extending java.util.EventListener
to a special aggregate in this repository. |
boolean |
checkCreateSchemaInstance(java.lang.Class nativeSchema)
Returns false if the owning session is not permitted to
create a new schema instance in this repository for specified native
schema. |
boolean |
checkCreateSchemaInstance(jsdai.dictionary.ESchema_definition nativeSchema)
Returns false if the owning session is not permitted to
create a new schema instance in this repository for specified native
schema. |
boolean |
checkCreateSdaiModel(java.lang.Class underlyingSchema)
Returns false if the owning session is not permitted to
create a new model in this repository with specified underlying schema.
|
boolean |
checkCreateSdaiModel(jsdai.dictionary.ESchema_definition underlyingSchema)
Returns false if the owning session is not permitted to
create a new model in this repository with specified underlying schema.
|
abstract SdaiPermission |
checkPermission()
Returns this repository effective permission which determines the repository's access rights. |
abstract void |
checkRead()
Throws SdaiException.SY_SEC if the owning session
has no read access to this repository. |
abstract void |
checkWrite()
Throws SdaiException.SY_SEC if the owning session
has no write access to this repository. |
void |
closeRepository()
Closes this repository. |
void |
copyFrom(ASchemaInstance aSourceSchemaInstance)
Makes a copy of all instances from the specified schema instance aggregate to this repository. |
void |
copyFrom(SchemaInstance sourceSchemaInstance)
Makes a copy of all instances from the specified schema instance to this repository. |
void |
copyFrom(SdaiRepository sourceRepository)
Makes a copy of all models together with instances and schema instances from the specified repository to this repository. |
abstract SchemaInstance |
createSchemaInstance(java.lang.String name,
java.lang.Class schema)
Creates a new SchemaInstance in this repository.
|
abstract SchemaInstance |
createSchemaInstance(java.lang.String name,
jsdai.dictionary.ESchema_definition schema)
Creates a new SchemaInstance in this repository.
|
abstract SdaiModel |
createSdaiModel(java.lang.String model_name,
java.lang.Class schema)
Creates a new SdaiModel in this repository.
|
abstract SdaiModel |
createSdaiModel(java.lang.String model_name,
jsdai.dictionary.ESchema_definition schema)
Creates a new SdaiModel in this repository.
|
void |
deleteRepository()
Deletes this repository. |
void |
exportClearTextEncoding(java.io.OutputStream location)
Creates a STEP file in a form of the exchange structure containing the data of this repository. |
void |
exportClearTextEncoding(java.io.OutputStream location,
java.lang.String file_name)
Creates a STEP file in a form of the exchange structure containing the data of this repository. |
void |
exportClearTextEncoding(java.lang.String location)
Creates a STEP file in a form of the exchange structure containing the data of this repository. |
void |
exportClearTextEncoding(java.lang.String location,
java.lang.String file_name)
Creates a STEP file in a form of the exchange structure containing the data of this repository. |
void |
exportXml(java.io.OutputStream location,
InstanceReader instanceReader)
Writes this repository in XML representation to specified stream. |
abstract SchemaInstance |
findSchemaInstance(java.lang.String name)
Given a name, finds the SchemaInstance with this name in this repository.
|
abstract SdaiModel |
findSdaiModel(java.lang.String name)
Given a name, finds the SdaiModel with this name in this repository.
|
A_string |
getAuthor()
Returns an aggregate of strings A_string identifying the person
responsible for creating this repository. |
java.lang.String |
getAuthorization()
Returns a String containing the name and mailing address
of the person who authorizes sending of the exchange structure
exported from this repository.
|
java.lang.String |
getChangeDate()
Returns the date and time specifying when this repository was created or most recently modified. |
long |
getChangeDateLong()
Returns long value of the date and time specifying when this
repository was created or most recently modified.
|
A_string |
getContextIdentifiers()
Returns an aggregate A_string containing information
describing the contexts within which the instances of the models in
this repository are applicable. |
java.lang.String |
getDefaultLanguage()
Returns a String identifying the default language
for string values in those models of this repository, for which their own
default language is not specified. |
A_string |
getDescription()
Returns an aggregate of strings A_string containing optional
descriptions about the SdaiRepository .
|
java.lang.String |
getId()
Returns repository identifier as a String .
|
EEntity |
getInstanceByRef(jsdai.query.SerializableRef entityRef)
Returns remote EEntity using specified entity reference. |
java.lang.String |
getLocation()
Returns the location of the repository as a String .
|
java.lang.String |
getLockingUser()
Returns the name of the user that has placed exclusive lock on remote repository. |
ASdaiModel |
getModels()
Returns a read-only aggregate of all the SdaiModels of this repository.
|
java.lang.String |
getName()
Returns the name of the repository as a String .
|
A_string |
getOrganization()
Returns an aggregate of strings A_string containing the organizations with
whom the author of this repository is associated.
|
java.lang.String |
getOriginatingSystem()
Returns a String characterizing the system from
which the data contained in this repository are originated.
|
long |
getPersistentLabel()
Returns current persistent label. |
java.lang.String |
getPreprocessorVersion()
Returns a String characterizing the system used to
create this repository.
|
ASdaiModel |
getQuerySourceDomain()
Returns domain in which to perform a search. |
jsdai.query.SerializableRef |
getQuerySourceDomainRef()
|
jsdai.query.SerializableRef |
getQuerySourceInstanceRef()
|
AEntity |
getQuerySourceInstances()
Returns starting instances which serve as the first input instance set for a query. |
java.lang.String |
getRealName()
Returns the real (without recurrence number) name of the repository as a String .
|
SchemaInstance |
getSchemaInstanceByRef(jsdai.query.SerializableRef schemaRef)
Returns remote SchemaInstance using specified schema instance reference. |
ASchemaInstance |
getSchemas()
Returns a read-only aggregate of all SchemaInstances of this repository.
|
SdaiModel |
getSdaiModelByRef(jsdai.query.SerializableRef modelRef)
Returns remote SdaiModel using specified model reference. |
SdaiSession |
getSession()
Returns the only one SdaiSession object. |
abstract EEntity |
getSessionIdentifier(java.lang.String label)
Returns entity instance for the given persistent label. |
void |
importXml(java.io.InputStream location)
Reads repository from specified stream as XML representation. |
boolean |
isActive()
Informs if this repository is open. |
boolean |
isModified()
Informs if this repository is modified. |
abstract void |
openRepository()
Makes the SdaiModels and SchemaInstances
contained in this repository available for subsequent access.
|
int |
query(java.lang.String where,
EEntity entity,
AEntity result)
This method is not implemented in current JSDAI version. |
void |
removeSdaiListener(SdaiListener listener)
Removes SdaiListener extending java.util.EventListener
from the special aggregate in this repository. |
void |
setAuthorization(java.lang.String value)
Assigns a String value to the attribute characterizing
the person who authorizes sending of the exchange structure
exported from this repository.
|
void |
setDefaultLanguage(java.lang.String value)
Assigns a String to the attribute identifying
the default language for string values in those models of this repository,
for which their own default language is not specified.
|
void |
setLocation(java.lang.String location)
Assigns a String value to the location attribute of the repository.
|
abstract void |
setNextPersistentLabel(long newPersistentLabel)
Assigns a long value to the next persistent label, which will be used for the next instance.
|
void |
setOriginatingSystem(java.lang.String value)
Assigns a String value to the attribute characterizing
the system from which the data contained in this repository are originated.
|
void |
setPreprocessorVersion(java.lang.String value)
Assigns a String value to the attribute characterizing
the system used to create this repository.
|
void |
shortNameSupport(boolean enable)
Selects to write entity names either in usual form or in short form. |
java.lang.String |
toString()
Returns a description of this repository as a String .
|
void |
unlinkRepository()
Removes the repository from the current session, but does not delete it physically. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
public java.lang.String getName() throws SdaiException
String
.
The repositories known to an SdaiSession
must have unique names.
An exception will be thrown if the repository is deleted or if the
SdaiSession
is closed.
SdaiException
- RP_NEXS, repository does not exist.public java.lang.String getId() throws SdaiException
String
.
The repositories within a SdaiSession
have unique identifiers,
which are not reused when some repositories are deleted and some new created
or imported.
SdaiRepository
.
SdaiException
- RP_NEXS, repository does not exist.public java.lang.String getLocation() throws SdaiException
String
.
This is either
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- VA_NEXS, value does not exist.public void unlinkRepository() throws SdaiException
This method is an extension of JSDAI, which is not a part of the standard.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_OPN, repository open.
SdaiException
- RP_NAVL, repository not available.
SdaiException
- FN_NAVL, function not available.SdaiSession.linkRepository(java.lang.String, java.lang.String)
public A_string getDescription() throws SdaiException
A_string
containing optional
descriptions about the SdaiRepository
.
After invocation of SdaiSession
method
createRepository
this aggregate is always empty, whereas after invocation of
importClearTextEncoding
it contains
strings taken from the field description
of the entity
file_description
in the header of the exchange structure
(see ISO 10303-21::8.2.1 file_description).
That is, this aggregate always exists, but may be empty.
During a read-write transaction the aggregate can be
modified by adding/modifying/removing its members.
When applying exportClearTextEncoding
,
the content of this aggregate will be written to the exchange structure
created by the method being applied.
The method is available only if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.public SdaiSession getSession() throws SdaiException
SdaiSession
object. If session is closed,
SdaiException RP_NEXS is thrown.
SdaiException
- RP_NEXS, repository does not exist.public ASdaiModel getModels() throws SdaiException
SdaiModels
of this repository.
The aggregate is automatically updated when new models are created with
createSdaiModel
or removed by
deleteSdaiModel
.
The models of a repository are only accessible if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- VA_NSET, value not set.openRepository()
public ASchemaInstance getSchemas() throws SdaiException
SchemaInstances
of this repository.
The aggregate is automatically updated when new schema instances are
created with createSchemaInstance
or removed by
delete
.
The schema instances of a repository are only accessible if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- VA_NSET, value not set.openRepository()
public java.lang.String getChangeDate() throws SdaiException
The time stamp is updated each time when
commit
method is applied,
provided either the repository has been modified since the most recent commit
or abort operation was performed,
or no such operation was performed thus far but the repository was
established by createRepository
method. If, however, for the repository no such case has appeared,
then the time stamp is set as follows.
If the repository was introduced by
createRepository
method, then
the time of its creation is taken. The same rule applies also to
the "SystemRepository". If the repository was created using
importClearTextEncoding
method,
then the time stamp is borrowed from the entity
file_name
in the header of an exchange structure from
which the encoding was imported.
Finally, if the repository was established using
linkRepository
method, then
the time stamp is extracted from the data of the repository linked to
the session.
The method is available only if the repository is open.
Example of the time stamp:
Calendar date: 28 June 2000
Time of the day: 15 minutes 12 seconds past 17 hours
Above date and time encoded according to ISO 8601:
2000-06-28T17:15:12
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.getChangeDateLong()
,
SdaiTransaction.commit()
,
SdaiSession.createRepository(java.lang.String, java.lang.Object)
,
SdaiSession.importClearTextEncoding(java.lang.String, java.lang.Object, java.lang.Object)
,
SdaiSession.linkRepository(java.lang.String, java.lang.String)
,
"ISO 10303-21::9.2.2 file_name."public long getChangeDateLong() throws SdaiException
long
value of the date and time specifying when this
repository was created or most recently modified.
This value is updated each time when
commit
method is applied,
provided either the repository has been modified since the most recent commit
or abort operation was performed,
or no such operation was performed thus far but the repository was
established by createRepository
method. If, however, for the repository no such case has appeared,
then this value is set as follows.
If the repository was introduced by
createRepository
method, then
the time of its creation is taken. The same rule applies also to
the "SystemRepository". If the repository was created using
importClearTextEncoding
method,
then the date is borrowed from the entity
file_name
in the header of an exchange structure from
which the encoding was imported.
Finally, if the repository was established using
linkRepository
method, then
the date is extracted from the data of the repository linked to
the session.
If time value is obtained as a string from an exchange structure
processed by importClearTextEncoding
method and this string violates the rules for time stamps stated in
"ISO 10303-21::8.2.2", then SdaiException VA_NVLD is thrown.
The method is available only if the repository is open.
long
representing the date and time.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- VA_NVLD, value invalid.getChangeDate()
,
SdaiTransaction.commit()
,
SdaiSession.createRepository(java.lang.String, java.lang.Object)
,
SdaiSession.importClearTextEncoding(java.lang.String, java.lang.Object, java.lang.Object)
,
SdaiSession.linkRepository(java.lang.String, java.lang.String)
,
"ISO 10303-21::8.2.2 file_name."public A_string getAuthor() throws SdaiException
A_string
identifying the person
responsible for creating this repository. The aggregate shall have
its name at the first position and mail and/or email addresses at the following
positions.
After invocation of SdaiSession
method
createRepository
this aggregate is always empty, whereas after invocation of
importClearTextEncoding
it contains
strings taken from the field author
of the entity
file_name
in the header of the exchange structure
(see ISO 10303-21::8.2.2 file_name).
That is, this aggregate always exists, but may be empty.
During a read-write transaction the aggregate can be
modified by adding/modifying/removing its members.
It is a responsibility of the application to fill this aggregate with
useful information.
When applying exportClearTextEncoding
,
the content of this aggregate will be written to the exchange structure
created by the method being applied.
The method is available only if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.public A_string getOrganization() throws SdaiException
A_string
containing the organizations with
whom the author of this repository is associated.
After invocation of SdaiSession
method
createRepository
this aggregate is always empty, whereas after invocation of
importClearTextEncoding
it contains
strings taken from the field organization
of the entity
file_name
in the header of the exchange structure
(see ISO 10303-21::8.2.2 file_name).
That is, this aggregate always exists, but may be empty.
During a read-write transaction the aggregate can be
modified by adding/modifying/removing its members.
It is a responsibility of the application to fill this aggregate with
useful information.
When applying exportClearTextEncoding
,
the content of this aggregate will be written to the exchange structure
created by the method being applied.
The method is available only if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.public java.lang.String getPreprocessorVersion() throws SdaiException
String
characterizing the system used to
create this repository.
After invocation of SdaiSession
method
createRepository
some default value to this string is assigned, whereas after invocation of
importClearTextEncoding
this
string has value taken from the field preprocessor_version
of the entity
file_name
in the header of the exchange structure
(see ISO 10303-21::8.2.2 file_name).
The method is available only if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.setPreprocessorVersion(java.lang.String)
,
"ISO 10303-21::8.2.2 file_name."public void setPreprocessorVersion(java.lang.String value) throws SdaiException
String
value to the attribute characterizing
the system used to create this repository.
This assignment is allowed only if the repository is open.
When applying exportClearTextEncoding
,
the value assigned will be written to the exchange structure
created by the method being applied.
value
- string describing the system used to create this repository.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- VA_NSET, value not set.getPreprocessorVersion()
,
openRepository()
,
"ISO 10303-21::8.2.2 file_name."public java.lang.String getOriginatingSystem() throws SdaiException
String
characterizing the system from
which the data contained in this repository are originated.
After invocation of SdaiSession
method
createRepository
some default value to this string is assigned, whereas after invocation of
importClearTextEncoding
this
string has value taken from the field originating_system
of the entity
file_name
in the header of the exchange structure
(see ISO 10303-21::8.2.2 file_name).
The method is available only if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.setOriginatingSystem(java.lang.String)
,
"ISO 10303-21::8.2.2 file_name."public void setOriginatingSystem(java.lang.String value) throws SdaiException
String
value to the attribute characterizing
the system from which the data contained in this repository are originated.
This assignment is allowed only if the repository is open.
When applying exportClearTextEncoding
,
the value assigned will be written to the exchange structure
created by the method being applied.
value
- string describing the system that is a source of the data in this repository.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- VA_NSET, value not set.getOriginatingSystem()
,
openRepository()
,
"ISO 10303-21::8.2.2 file_name."public java.lang.String getAuthorization() throws SdaiException
String
containing the name and mailing address
of the person who authorizes sending of the exchange structure
exported from this repository.
After invocation of SdaiSession
method
createRepository
some default value to this string is assigned, whereas after invocation of
importClearTextEncoding
this
string has value taken from the field authorization
of the entity
file_name
in the header of the exchange structure
(see ISO 10303-21::8.2.2 file_name).
The method is available only if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.setAuthorization(java.lang.String)
,
"ISO 10303-21::8.2.2 file_name."public void setAuthorization(java.lang.String value) throws SdaiException
String
value to the attribute characterizing
the person who authorizes sending of the exchange structure
exported from this repository.
This assignment is allowed only if the repository is open.
When applying exportClearTextEncoding
,
the value assigned will be written to the exchange structure
created by the method being applied.
value
- string describing the person who authorizes sending of the exchange structure.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- VA_NSET, value not set.getAuthorization()
,
openRepository()
,
"ISO 10303-21::8.2.2 file_name."public java.lang.String getDefaultLanguage() throws SdaiException
String
identifying the default language
for string values in those models of this repository, for which their own
default language is not specified. More precisely, for a model, the default language
can be assigned individually. String
returned by this
method serves as a default language for those models for which
an individual assignment was not made.
After invocation of SdaiSession
method
createRepository
this string is set to null, whereas after invocation of
importClearTextEncoding
this
string can take value extracted from the header of the exchange structure
(see ISO 10303-21::8.2.4 section_language) provided
an appropriate value is given there (otherwise it is set to null).
The method is available only if the repository is open.
String
identifying the default language for string
values in models of this repository.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.setDefaultLanguage(java.lang.String)
,
SdaiModel.getDefaultLanguage()
,
SdaiModel.setDefaultLanguage(java.lang.String)
,
"ISO 10303-21::8.2.4 section_language."public void setDefaultLanguage(java.lang.String value) throws SdaiException
String
to the attribute identifying
the default language for string values in those models of this repository,
for which their own default language is not specified.
This assignment is allowed only if the repository is open.
If at least one model in this repository does not have its own
default language and the default language of the repository is set
with some value, then when applying exportClearTextEncoding
,
this value will be written to the exchange structure
created by the method being applied.
value
- String
identifying the default language for string
values in models of this repository.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.getDefaultLanguage()
,
SdaiModel.getDefaultLanguage()
,
SdaiModel.setDefaultLanguage(java.lang.String)
,
openRepository()
,
"ISO 10303-21::8.2.4 section_language."public A_string getContextIdentifiers() throws SdaiException
A_string
containing information
describing the contexts within which the instances of the models in
this repository are applicable. Both the repository and each model
in it have their own aggregates A_string
for writing context identifiers.
But for those models, for which their own aggregate is empty,
contexts are described by the aggregate returned by this method,
that is, by the repository aggregate.
After invocation of SdaiSession
method
createRepository
this aggregate is empty, whereas after invocation of
importClearTextEncoding
this
aggregate will contain information extracted from the header of the exchange structure
(see ISO 10303-21::8.2.5 section_context) provided
an appropriate information is given there.
That is, this aggregate always exists, but may be empty.
During a read-write transaction the aggregate can be
modified by adding/modifying/removing its members.
If for at least one model in this repository its own aggregate
describing contexts is empty and the repository aggregate contains at least
one string, then when applying exportClearTextEncoding
,
the content of this aggregate will be written to the exchange structure
created by the method being applied.
The method is available only if the repository is open.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.SdaiModel.getContextIdentifiers()
,
"ISO 10303-21::8.2.5 section_context."public void shortNameSupport(boolean enable) throws SdaiException
true
. This information is used
by exportClearTextEncoding
and CEntity.toString
methods.
Invocation of the method is allowed only if the repository is open.
This method is an extension of JSDAI, which is not a part of the standard.
enable
- shows whether entity names must be short (if true
)
or usual (if false
).
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.public abstract SdaiPermission checkPermission() throws SdaiException
SdaiException
- if an error occurs performing underlying JSDAI operationscheckRead()
,
checkWrite()
,
SdaiPermission
public abstract void checkRead() throws SdaiException
SdaiException.SY_SEC
if the owning session
has no read access to this repository. Otherwise this method returns
with no action.
SdaiException
- SY_SEC
if the owning session is
not granted the read access
SdaiException
- if an error occurs performing underlying JSDAI operationscheckPermission()
,
checkWrite()
,
SdaiPermission
public abstract void checkWrite() throws SdaiException
SdaiException.SY_SEC
if the owning session
has no write access to this repository. Otherwise this method returns
with no action.
SdaiException
- SY_SEC
if the owning session is
not granted the write access
SdaiException
- if an error occurs performing underlying JSDAI operationscheckPermission()
,
checkRead()
,
SdaiPermission
public boolean checkCreateSchemaInstance(jsdai.dictionary.ESchema_definition nativeSchema) throws SdaiException
false
if the owning session is not permitted to
create a new schema instance in this repository for specified native
schema. Otherwise, if schema instance could be created, it returns
true
.
nativeSchema
- the native EXPRESS schema
false
if the owning session is permitted to create
a new schema instance; true
otherwise.
SdaiException
- if an error occurs performing underlying JSDAI operationscheckCreateSchemaInstance(Class)
public boolean checkCreateSchemaInstance(java.lang.Class nativeSchema) throws SdaiException
false
if the owning session is not permitted to
create a new schema instance in this repository for specified native
schema. Otherwise, if schema instance could be created, it returns
true
.
nativeSchema
- the native EXPRESS schema class
false
if the owning session is permitted to create
a new schema instance; true
otherwise.
SdaiException
- if an error occurs performing underlying JSDAI operationscheckCreateSchemaInstance(ESchema_definition)
public boolean checkCreateSdaiModel(jsdai.dictionary.ESchema_definition underlyingSchema) throws SdaiException
false
if the owning session is not permitted to
create a new model in this repository with specified underlying schema.
Otherwise, if model could be created, it returns true
.
underlyingSchema
- the underlying EXPRESS schema
false
if the owning session is permitted to create
a new model; true
otherwise.
SdaiException
- if an error occurs performing underlying JSDAI operationscheckCreateSdaiModel(Class)
public boolean checkCreateSdaiModel(java.lang.Class underlyingSchema) throws SdaiException
false
if the owning session is not permitted to
create a new model in this repository with specified underlying schema.
Otherwise, if model could be created, it returns true
.
underlyingSchema
- the underlying EXPRESS schema class
false
if the owning session is permitted to create
a new model; true
otherwise.
SdaiException
- if an error occurs performing underlying JSDAI operationscheckCreateSdaiModel(ESchema_definition)
public java.lang.String getLockingUser() throws SdaiException
null
for local repository.
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationsSdaiSession.lock(jsdai.lang.ASdaiRepository, jsdai.lang.ASchemaInstance, jsdai.lang.ASdaiModel, int)
public abstract void openRepository() throws SdaiException
SdaiModels
and SchemaInstances
contained in this repository available for subsequent access.
If the repository is deleted or if the SdaiSession
is closed,
SdaiException RP_NEXS will be thrown.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NAVL, repository not available.
SdaiException
- RP_OPN, repository open.
SdaiException
- LC_NVLD, location invalid.
SdaiException
- SY_ERR, underlying system error.public abstract SdaiModel createSdaiModel(java.lang.String model_name, jsdai.dictionary.ESchema_definition schema) throws SdaiException
SdaiModel
in this repository.
This model is automatically added to the aggregate of type ASdaiModel
,
containing all models of the repository. This aggregate can
be obtained by applying getModels
method.
The name of the new model must be unique within this repository.
If the name is not supplied or is an empty string, then SdaiException
VA_NSET or, respectively, VA_NVLD is thrown.
The second parameter specifies some EXPRESS schema. The
new model can contain instances only those entities which are
defined or used in this schema.
If schema is not supplied, then SdaiException SD_NDEF is thrown.
model_name
- name of the model.schema
- underlying EXPRESS schema.
SdaiModel
.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NRW, transaction not read-write.
SdaiException
- TR_EAB, transaction ended abnormally.
SdaiException
- MO_DUP, SDAI-model duplicate.
SdaiException
- VA_NSET, value not set.
SdaiException
- SD_NDEF, schema definition not defined.
SdaiException
- RP_RO, read-only access to repository.
SdaiException
- RP_LOCK, repository locked by another user.
SdaiException
- SY_ERR, underlying system error.public abstract SdaiModel createSdaiModel(java.lang.String model_name, java.lang.Class schema) throws SdaiException
SdaiModel
in this repository.
It is a variation of createSdaiModel(String model_name,
ESchema_definition schema)
method.
The EXPRESS schema is specified by the second parameter whose type is Class
.
The value submitted to this parameter during invocation of the method shall be
a special java class with the name constructed from the schema name. This class
is contained in the package corresponding to the schema of interest.
For example, if the schema is "geometry_schema", then the package name is
"jsdai.SGeometry_schema" and the value for the second parameter shall
be "jsdai.SGeometry_schema.SGeometry_schema.class".
model_name
- name of the model.schema
- underlying EXPRESS schema.
SdaiModel
.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NRW, transaction not read-write.
SdaiException
- TR_EAB, transaction ended abnormally.
SdaiException
- MO_DUP, SDAI-model duplicate.
SdaiException
- VA_NSET, value not set.
SdaiException
- SD_NDEF, schema definition not defined.
SdaiException
- RP_RO, read-only access to repository.
SdaiException
- RP_LOCK, repository locked by another user.
SdaiException
- SY_ERR, underlying system error.public abstract SdaiModel findSdaiModel(java.lang.String name) throws SdaiException
SdaiModel
with this name in this repository.
If such a model does not exist, then null
is returned.
name
- name of the model.
SdaiModel
with the specified name.
SdaiException
- SY_ERR, underlying system error.public abstract SchemaInstance createSchemaInstance(java.lang.String name, jsdai.dictionary.ESchema_definition schema) throws SdaiException
SchemaInstance
in this repository.
This schema instance is automatically added to the aggregate of type ASchemaInstance
,
containing all schema instances of the repository. This aggregate can
be obtained by applying getSchemas
method.
The name of the new schema instance must be unique within this repository.
If name is not supplied, then SdaiException VA_NSET is thrown.
The second parameter specifies some EXPRESS schema this schema instance is based on.
If schema is not supplied, then SdaiException SD_NDEF is thrown.
name
- name of the new SchemaInstance
.schema
- the native schema for the SchemaInstance
created.
SchemaInstance
.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NRW, transaction not read-write.
SdaiException
- TR_EAB, transaction ended abnormally.
SdaiException
- SI_DUP, schema instance duplicate.
SdaiException
- VA_NSET, value not set.
SdaiException
- SD_NDEF, schema definition not defined.
SdaiException
- RP_RO, read-only access to repository.
SdaiException
- RP_LOCK, repository locked by another user.
SdaiException
- SY_ERR, underlying system error.public abstract SchemaInstance createSchemaInstance(java.lang.String name, java.lang.Class schema) throws SdaiException
SchemaInstance
in this repository.
It is a variation of createSchemaInstance(String name,
ESchema_definition schema)
method.
The EXPRESS schema is specified by the second parameter whose type is Class
.
The value submitted to this parameter during invocation of the method shall be
a special java class with the name constructed from the schema name. This class
is contained in the package corresponding to the schema of interest.
For example, if the schema name is "geometry_schema", then the package name is
"jsdai.SGeometry_schema" and the value for the second parameter shall
be "jsdai.SGeometry_schema.SGeometry_schema.class".
name
- name of the new SchemaInstance
.schema
- the native schema for the SchemaInstance
created.
SchemaInstance
.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NRW, transaction not read-write.
SdaiException
- TR_EAB, transaction ended abnormally.
SdaiException
- SI_DUP, schema instance duplicate.
SdaiException
- VA_NSET, value not set.
SdaiException
- SD_NDEF, schema definition not defined.
SdaiException
- RP_RO, read-only access to repository.
SdaiException
- RP_LOCK, repository locked by another user.
SdaiException
- SY_ERR, underlying system error.public abstract SchemaInstance findSchemaInstance(java.lang.String name) throws SdaiException
SchemaInstance
with this name in this repository.
If such a schema instance does not exist, then null
is returned.
name
- name of the schema instance.
SchemaInstance
with the specified name.
SdaiException
- SY_ERR, underlying system error.public void closeRepository() throws SdaiException
SdaiModels
and
SchemaInstances
contained in it become inaccessible.
In turn, entity instances of any SdaiModel
in this
repository also become inaccessible. For most methods in class
EEntity
, if applied to such instances,
SdaiException EI_NEXS will be thrown.
The largest number appearing in the name of an instance within
the repository is stored by commit
in 'contents' binary file of the repository and will be
extracted and used when this repository will be opened again.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- RP_NAVL, repository not available.
SdaiException
- TR_RW, transaction read-write.
SdaiException
- SY_ERR, underlying system error.SdaiTransaction.commit()
,
SdaiTransaction.abort()
,
"ISO 10303-22::10.5.3 Close repository"public abstract EEntity getSessionIdentifier(java.lang.String label) throws SdaiException
label
- the persistent label of the entity instance to look for.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NAVL, transaction currently not available.
SdaiException
- TR_EAB, transaction ended abnormally.
SdaiException
- EI_NEXS, entity instance does not exist.
SdaiException
- VA_NSET, value not set.
SdaiException
- SY_ERR, underlying system error.EEntity.getPersistentLabel()
,
"ISO 10303-22::10.11.7 Get session identifier"public int query(java.lang.String where, EEntity entity, AEntity result) throws SdaiException
SdaiException FN_NAVL will be thrown if this method is invoked.
query
in interface QuerySource
where
- a String
valueentity
- an EEntity
valueresult
- an AEntity
value
int
value
SdaiException
- FN_NAVL, function not available.public ASdaiModel getQuerySourceDomain() throws SdaiException
QuerySource
getQuerySourceDomain
in interface QuerySource
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationspublic AEntity getQuerySourceInstances() throws SdaiException
QuerySource
getQuerySourceInstances
in interface QuerySource
AEntity
containing the instances or null
this aggregate consists all instances in query source domain
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationspublic jsdai.query.SerializableRef getQuerySourceInstanceRef() throws SdaiException
getQuerySourceInstanceRef
in interface QuerySource
SdaiException
public jsdai.query.SerializableRef getQuerySourceDomainRef() throws SdaiException
getQuerySourceDomainRef
in interface QuerySource
SdaiException
public void deleteRepository() throws SdaiException
knownServers
) and physically.
It is not possible to get back it using
linkRepository
method.
If the repository at the moment of invocation of this method is open,
it is first closed and only then deleted.
Deleting of special repository "SystemRepository", containing dictionary
and mapping data, is forbidden.
If the repository is degenerated, then SdaiException FN_NAVL is thrown.
This method is an extension of JSDAI, which is not a part of the standard.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NAVL, repository not available.
SdaiException
- TR_RW, transaction read-write.
SdaiException
- SY_ERR, underlying system error.
SdaiException
- FN_NAVL, function not available.closeRepository()
public void exportClearTextEncoding(java.lang.String location) throws SdaiException
location
gets some String
value,
then this value is used as a name for the resulting file.
If, however, location
is null, then the name is chosen as follows.
If the repository was created during this session by applying
importClearTextEncoding
,
then the name of the file is the same as that of the input file for
importClearTextEncoding method. In the remaining cases, that is,
when the repository was either created by
createRepository
or linked by
linkRepository
, the name of the
resulting file coincides with the name of the repository.
The contents of each model of the repository is written down to
the file as a separate data section. The header of the file includes
time-stamp which specifies the date and time when this repository was
created or most recently modified.
The value of the attribute implementation_level
of the
entity file_description
in the header of the exchange structure
(see ISO 10303-21::8.2.1 file_description) can take one of the following
values:
file_population
in the
header of the exchange structure (see ISO 10303-21::8.2.4 file_population)
is created;
file_population
for a schema instance
only those models in the set associated_models
which belong
to this repository are listed. Models from the other repositories simply
are ignored. However, if all models of this repository belong to
associated_models
of the schema instance considered, then
the value standing for associated_models
in the
corresponding instance of file_population
is missing,
that is, dollar sign is used (see ISO 10303-21::8.2.4 file_population).
The repository may contain instances which reference instances in other repositories. In this case the strategy is as follows:
After execution of this method the repository itself remains unchanged. In particular, all references (if any) from the current repository to other repositories are retained. The method is disabled for special repository "SystemRepository", containing dictionary and mapping data. In this case SdaiException FN_NAVL is thrown.
location
- the name of the file created by the method.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NAVL, transaction currently not available.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.exportClearTextEncoding(String location, String file_name)
,
see "ISO 10303-21"
public void exportClearTextEncoding(java.lang.String location, java.lang.String file_name) throws SdaiException
location
gets some String
value,
then this value is used as a name for the resulting file.
If, however, location
is null, then the name is chosen as follows.
If the repository was created during this session by applying
importClearTextEncoding
,
then the name of the file is the same as that of the input file for
importClearTextEncoding method. In the remaining cases, that is,
when the repository was either created by
createRepository
or linked by
linkRepository
, the name of the
resulting file coincides with the name of the repository.
The second parameter of the method can be used to set the value of the attribute
name
of the header entity file_name
(see ISO 10303-21::8.2.2 file_name). If this parameter is null
,
then the value of name
depends on the origin of the
repository. If it has been imported from an exchange structure, then
the existing value of name
is taken. If, however, the repository
was created, then its name as the value of the attribute
name
is used.
The contents of each model of the repository is written down to
the file as a separate data section. The header of the file includes
time-stamp which specifies the date and time when this repository was
created or most recently modified.
The value of the attribute implementation_level
of the
entity file_description
in the header of the exchange structure
(see ISO 10303-21::8.2.1 file_description) can take one of the following
values:
file_population
in the
header of the exchange structure (see ISO 10303-21::8.2.4 file_population)
is created;
file_population
for a schema instance
only those models in the set associated_models
which belong
to this repository are listed. Models from the other repositories simply
are ignored. However, if all models of this repository belong to
associated_models
of the schema instance considered, then
the value standing for associated_models
in the
corresponding instance of file_population
is missing,
that is, dollar sign is used (see ISO 10303-21::8.2.4 file_population).
The repository may contain instances which reference instances in other repositories. In this case the strategy is as follows:
Applying this method, it is possible to write entity names either in usual form or in short form.
For example, for entity cartesian_point
any of the following cases can be chosen:
shortNameSupport
method should be used.
Selecting the short form can give the desired result only if the short names of entities
are defined in the data dictionary (provided by an Express compiler).
If, for an entity, the method fails to identify its short name, then the full entity
name is used instead of.
After execution of this method the repository itself remains unchanged. In particular, all references (if any) from the current repository to other repositories are retained. The method is disabled for special repository "SystemRepository", containing dictionary and mapping data. In this case SdaiException FN_NAVL is thrown.
location
- the name of the file created by the method.file_name
- the name of the exchange structure to which this repository is exported.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NAVL, transaction currently not available.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.exportClearTextEncoding(String location)
,
SchemaInstance.exportClearTextEncoding(java.lang.String)
,
"ISO 10303-21"public void exportClearTextEncoding(java.io.OutputStream location) throws SdaiException
exportClearTextEncoding(String location, String file_name)
.
Invoking this method is equivalent to making this call:
exportClearTextEncoding(location, null);
location
- an OutputStream
value
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationspublic void exportClearTextEncoding(java.io.OutputStream location, java.lang.String file_name) throws SdaiException
exportClearTextEncoding(String location, String file_name)
location
- an OutputStream
valuefile_name
- the name of the exchange structure to which this repository is exported.
It sets the value of the attribute name
of the header entity
file_name
(see ISO 10303-21::8.2.2 file_name).
If this parameter is null
, then the value of
name
depends on the origin of the repository. If it has been
imported from an exchange structure, then the existing value of
name
is taken. If, however, the repository was created,
then its name as the value of the attribute name
is used.
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationspublic void exportXml(java.io.OutputStream location, InstanceReader instanceReader) throws SdaiException
instanceReader
parameter.
location
- an OutputStream
to write XML toinstanceReader
- an InstanceReader
describing output format
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationsjsdai.xml.InstanceReader
,
jsdai.xml.LateBindingReader
public void importXml(java.io.InputStream location) throws SdaiException
location
- an InputStream
to read XML from.
SdaiException
- if an error occurs during the operation
or in underlying JSDAI operationsInstanceWriterSelector
public boolean isActive() throws SdaiException
SdaiSession
is closed.
true
if this repository is open, and
false
otherwise.
SdaiException
- RP_NEXS, repository does not exist.public boolean isModified() throws SdaiException
true
if this repository is modified, and
false
otherwise.
SdaiException
- RP_NEXS, repository does not exist.
SdaiException
- RP_NOPN, repository is not open.public java.lang.String toString()
String
.
It includes constant string "SdaiRepository: " and repository name.
public void addSdaiListener(SdaiListener listener)
SdaiListener
extending java.util.EventListener
to a special aggregate in this repository.
addSdaiListener
in interface SdaiEventSource
listener
- a SdaiListener
to be added.removeSdaiListener(jsdai.lang.SdaiListener)
public void removeSdaiListener(SdaiListener listener)
SdaiListener
extending java.util.EventListener
from the special aggregate in this repository.
removeSdaiListener
in interface SdaiEventSource
listener
- SdaiListener
to be removed.addSdaiListener(jsdai.lang.SdaiListener)
public long getPersistentLabel()
setNextPersistentLabel(long)
public abstract void setNextPersistentLabel(long newPersistentLabel) throws SdaiException
long
value to the next persistent label, which will be used for the next instance.
Value of the next persistent label must be unused.
newPersistentLabel
- long
value of next persistent label.
SdaiException
- VA_NVLD, value invalid.getPersistentLabel()
public SdaiModel getSdaiModelByRef(jsdai.query.SerializableRef modelRef) throws SdaiException
SdaiModel
using specified model reference.
modelRef
- SerializableRef
used to refer to remote model.
SdaiModel
refered by specified model reference.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.getSchemaInstanceByRef(SerializableRef)
,
getInstanceByRef(SerializableRef)
public SchemaInstance getSchemaInstanceByRef(jsdai.query.SerializableRef schemaRef) throws SdaiException
SchemaInstance
using specified schema instance reference.
schemaRef
- SerializableRef
used to refer to remote schema instance.
SchemaInstance
refered by specified schema instance reference.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.getSdaiModelByRef(SerializableRef)
,
getInstanceByRef(SerializableRef)
public EEntity getInstanceByRef(jsdai.query.SerializableRef entityRef) throws SdaiException
EEntity
using specified entity reference.
entityRef
- SerializableRef
used to refer to remote entity instance.
EEntity
refered by specified entity instance reference.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.getSdaiModelByRef(SerializableRef)
,
getSchemaInstanceByRef(SerializableRef)
public java.lang.String getRealName() throws SdaiException
String
.
The repositories known to an SdaiSession
must have unique names.
An exception will be thrown if the repository is deleted or if the
SdaiSession
is closed.
SdaiException
- RP_NEXS, repository does not exist.public void copyFrom(SdaiRepository sourceRepository) throws SdaiException
copyInstances
method.
This method is an extension of JSDAI, which is not a part of the standard.
sourceRepository
- the source repository.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NRW, transaction not read-write.
SdaiException
- MO_NEXS, SDAI-model does not exist.
SdaiException
- MX_NRW, SDAI-model access not read-write.
SdaiException
- ED_NVLD, entity definition invalid.
SdaiException
- VA_NSET, value not set.
SdaiException
- VA_NVLD, value invalid.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.copyFrom(SchemaInstance)
,
copyFrom(ASchemaInstance)
public void copyFrom(SchemaInstance sourceSchemaInstance) throws SdaiException
copyInstances
method.
This method is an extension of JSDAI, which is not a part of the standard.
sourceSchemaInstance
- the source repository.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NRW, transaction not read-write.
SdaiException
- MO_NEXS, SDAI-model does not exist.
SdaiException
- MX_NRW, SDAI-model access not read-write.
SdaiException
- ED_NVLD, entity definition invalid.
SdaiException
- VA_NSET, value not set.
SdaiException
- VA_NVLD, value invalid.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.copyFrom(SdaiRepository)
,
copyFrom(ASchemaInstance)
public void copyFrom(ASchemaInstance aSourceSchemaInstance) throws SdaiException
copyInstances
method.
This method is an extension of JSDAI, which is not a part of the standard.
aSourceSchemaInstance
- the source repository.
SdaiException
- TR_NEXS, transaction does not exist.
SdaiException
- TR_NRW, transaction not read-write.
SdaiException
- MO_NEXS, SDAI-model does not exist.
SdaiException
- MX_NRW, SDAI-model access not read-write.
SdaiException
- ED_NVLD, entity definition invalid.
SdaiException
- VA_NSET, value not set.
SdaiException
- VA_NVLD, value invalid.
SdaiException
- FN_NAVL, function not available.
SdaiException
- SY_ERR, underlying system error.copyFrom(SdaiRepository)
,
copyFrom(SchemaInstance)
public void setLocation(java.lang.String location) throws SdaiException
String
value to the location attribute of the repository.
This assignment is allowed only if the repository is stored in
SDAI file else
SdaiException FN_NAVL is thrown.
If the new location has been assigned successfully, then new SDAI file
will be created for the current repository while performing commit operation.
Old SDAI file will remain untouched
in the old location after commit operation.
This method is an extension of JSDAI, which is not a part of the standard.
location
- the new location of the repository.
SdaiException
- FN_NAVL, function not available.getLocation()
|
Copyright © LKSoftWare GmbH, 1999-2008 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |