Package com.comsol.api.database.result
Result types returned by read operations in the Model Manager database API.
A get operation in the Model Manager database API typically involves reading multiple
data values for a database object using a single method invocation — thereby offering
better performance than invoking multiple methods that each return a single data value. The
effect is most notable when connecting to a Model Manager server database with network latencies.
In the following example, the single invocation of version.get()
is preferable than the
three ensuing method invocations.
// The modelLocationUri string could, for example, have been obtained via Copy Location // in the Model Manager workspace. ModelItemVersion version = DatabaseApiUtil.api().modelVersionByLocationUri(modelLocationUri); GetModelItemVersionResult result = version.get(); String title = version.title(); String description = version.description(); String savedIn = version.savedIn();
A query operation in the Model Manager database API involves invoking a method that
matches database objects via some filter criteria and then returning data values for these
database objects as a so-called result stream. All result streams implement the
interface DatabaseApiResultStream
. Since the number of
matching database objects could potentially be very large, the individual elements are read on
demand from the database by invoking methods on the result stream instance. This includes, for
example, looping over the elements in a "for-each loop" statement using the result stream as a
source, by manually iterating using the Iterator
returned by
Iterable.iterator()
, or by consuming the
stream returned by DatabaseApiResultStream.stream()
. In
the following example, data values for versions matching a search are iterated in three different
ways.
SearchItemVersionResultStream resultStream = database.searchItemVersions("my model"); // Iterating using a "for-each loop" statement. for (SearchItemVersionResult result : resultStream) { } // Manually iterating. java.util.Iterator<SearchItemVersionResult> iterator = resultStream.iterator(); while (iterator.hasNext()) { SearchItemVersionResult result = iterator.next(); } // Consuming a stream using the Java 8 Stream API. resultStream.stream().forEachOrdered(result -> { });
The result stream also has methods for reading the first element in the stream, as well as reading a fixed number of elements into an array or a list.
SearchItemVersionResultStream resultStream = database.searchItemVersions("my model"); SearchItemVersionResult firstResult = resultStream.firstOrNull(); SearchItemVersionResult[] resultArray = resultStream.toArray(10); List<SearchItemVersionResult> resultList = resultStream.toList(5);
See the chapter Model Manager API in the Model Manager Reference Manual for further details on the Model Manager database API. This includes, for example, code snippets showcasing common operations when working with Model Manager databases.
-
Interface Summary Interface Description AssignedTagResult Database result for a tag assignment.BranchResult Base interface for results returned when reading and querying data values for branches.CommitResult Base interface for results returned when reading and querying data values for commits.DatabaseApiResultStream<T extends DatabaseApiValue> The result stream returned when performing a database query in the Model Manager database API.DatabaseConfigurationResult Base interface for results returned when reading and querying data values for database configurations.ExportFileItemVersionResult The result of exporting file resource contents of a file version from a Model Manager database.ExportModelItemVersionResult The result returned when exporting a model version from a Model Manager database to the file system.FileResourceResult Data values for a file resource belonging to a file version.GetBranchResult The result returned when reading the data values of a branch in a repository.GetCommitResult The result returned when reading the data values of a commit in a branch.GetDatabaseConfigurationResult The result returned when reading the data values for a configuration of a Model Manager database.GetFileItemVersionResult The result returned when reading the data values of a file version saved in the Model Manager database.GetModelItemVersionResult The result returned when reading the data values of a model version saved in the Model Manager database.GetRepositoryResult The result returned when reading the data values of a repository in a Model Manager database.GetSnapshotResult The result returned when reading the data values of a snapshot in a repository.GetTagItemVersionResult The result returned when reading the data values of a tag version saved in the Model Manager database.ItemVersionResult Database result for an item version (a tag, model, or file version) stored in a Model Manager database.QueryBranchResult A branch query result returned when querying the branches in a repository.QueryBranchResultStream The result stream returned when querying branches in a repository.QueryCommitHistoryResult A commit query result returned when querying the history of commits saved in a branch.QueryCommitHistoryResultStream The result stream returned when querying the commit history of a branch.QueryDatabaseConfigurationResult A database configuration query result returned when querying Model Manager database configurations.QueryDatabaseConfigurationResultStream The result stream returned when querying Model Manager database configurations.QueryItemVersionHistoryResult The item version query result returned when querying the version history of an item.QueryItemVersionHistoryResultStream The result stream returned when querying the version history of an item.QueryItemVersionReferenceResult The item version query result (a tag, model, or file version) returned when querying versions referenced by a specific item version or versions referencing a specific item version.QueryItemVersionReferenceResultStream The result stream returned when querying the version references of an item version.QueryItemVersionResult The result returned when querying item versions.QueryItemVersionResultStream The result stream returned when querying item versions.QueryRepositoryResult A repository query result returned when querying the repositories in a Model Manager database.QueryRepositoryResultStream The result stream returned when querying for repositories in a Model Manager database.QuerySnapshotResult A snapshot query result returned when querying the snapshots in a repository.QuerySnapshotResultStream The result stream returned when querying for snapshots in a repository.RepositoryResult Base interface for results returned when reading and querying data values for repositories.SearchBranchItemResult The item version result returned when searching the latest versions of items with respect to a branch.SearchBranchItemResultStream The result stream returned when searching the latest item versions with respect to a branch.SearchCommitItemResult The item version result returned when searching the item versions that were the latest at the point in time when a commit was saved in a branch.SearchCommitItemResultStream The result stream returned when searching the item versions that were the latest at the point in time when a commit was saved in a branch.SearchItemVersionResult The item version result returned when searching item versions in a Model Manager database.SearchItemVersionResultStream The result stream returned when searching item versions in a Model Manager database.SnapshotResult Base interface for results returned when reading and querying data values for snapshots.