simpleorm.core |
The core SimpleORM package.
SimpleORM provides a simple, convenient yet powerful way to map
objects in memory to tables in a relational database.
See the white paper for a
detailed description of what SimpleORM does and why it is good.
README.html describes how to build
SimpleORM and contains information about the current release.
The website is www.SimpleORM.org which contains current information. (A local copy is at ../../webSite/index.html).
Note that most non public declarations have package scope, not private
scope. This includes instance variables. Further, the simpleorm jar
is not sealed. This means that if you do need to hack SimpleORM you
can generally create a new class within the simpleorm.core package
with appropriate static methods, and thus not need to change the
SimpleORM classes themselves. Of course this is not supported, and
make sure you let us know what you did so that we can incorporate the
changes into the main package.
The following image contains provides an overview of SimpleORM's
internal classes which may prove useful.
|
Java Source File Name | Type | Comment |
SArrayList.java | Class | JAVA implementation of SArrayList. |
SCon.java | Class | This stub just provides a convenient name for the constants. |
SConnection.java | Class | Links JDBC Connections to SimpleORM ones and handles transacitons
and flushing. |
SConstants.java | Interface | Contains all the constants used by SimpleORM. |
SDataLoader.java | Class | This class provides simple bulk data loading facilities which are
particularly handy for developing test data. |
SDataSource.java | Class | Provides a source of JDBC connections. |
SDataSourceJavaX.java | Class | SDataSource for using javax.sql.DataSource. |
SDriver.java | Class | This is the generic database driver that contains minimal
database dependent code. |
SDriverDaffodil.java | Class | |
SDriverDB2.java | Class | Contains DB2/400 (iSeries DB2/Implementation tested on OS400 v5.1)
CHAR/VARCHAR max 255 else LONG VARCHAR. |
SDriverDB2_400.java | Class | |
SDriverDerby.java | Class | |
SDriverFirebird.java | Class | Open source verion of Interbase. |
SDriverHSQL.java | Class | This contains HSQL specific code. |
SDriverInformix.java | Class | This contains Informix specific code. |
SDriverInterbase.java | Class | Borland's db. |
SDriverMSSQL.java | Class | This contains MS SQL Server specific code.
CHAR, VARCHAR max 8,000. |
SDriverMySQL.java | Class | This contains MySQL specific code. |
SDriverOracle.java | Class | This contains Oracle specific code. |
SDriverPostgres.java | Class | This contains PostgreSQL specific code. |
SDriverSapDB.java | Class | Alix Jermyn
Sorry Anthony, the Driver class is
com.sap.dbtech.jdbc.DriverSapDB
And db urls look like
jdbc:sapdb:///>databasename>
To add a further twist, SAPDB can be put into 4 distinct Sql modes:
INTERNAL, ANSI, DB2, or ORACLE
Internal is the default, which seems to be the most commonly used. |
SDriverSybase.java | Class | This contains Sybase Adaptive Server specific code. |
SEnum.java | Class | |
SException.java | Class | Poor man's exception chaining. |
SFieldBigDecimal.java | Class | Represents BigDecimal field meta data. |
SFieldBlob.java | Class | Represents a BLOB, Binary large object. |
SFieldBoolean.java | Class | Booleans are represented as Boolean.TRUE/FALSE internally.
However, SQL89 does not have a concept of boolean, only strings
and numbers. |
SFieldBooleanBit.java | Class | |
SFieldBooleanChar.java | Class | Boolieans which are represented by a string. |
SFieldBooleanCharTF.java | Class | Represents Boolean field meta data as "T" and "F" chars. |
SFieldBooleanCharYN.java | Class | Represents Boolean field meta data as "Y" and "N" chars. |
SFieldBytes.java | Class | Represents Bytes field meta data. |
SFieldDate.java | Class | Represents Date field meta data. |
SFieldDouble.java | Class | Represents Double field meta data. |
SFieldInteger.java | Class | Represents Integer field meta data. |
SFieldLong.java | Class | Represents Long field meta data. |
SFieldMeta.java | Class | Each instance defines the meta data for a field in an
SRecordMeta . |
SFieldObject.java | Class | Represents columns that are not objects known to SimpleORM. |
SFieldReference.java | Class | Represents a foreign key reference from one record to another. |
SFieldScalar.java | Class | Scalar fields such as String, Int, but not Reference. |
SFieldString.java | Class | Represents String field meta data. |
SFieldTime.java | Class | Represents Time field meta data. |
SFieldTimestamp.java | Class | Represents Timestamp field meta data. |
SGenerator.java | Class | Generate keys using rows in a separate sequence table. |
SGeneratorInsertIdentity.java | Class | Generator using Identity columns which have values added by the database when
rows are inserted. |
SGeneratorSelectMax.java | Class | Basic Select Max style generator. |
SGeneratorSequence.java | Class | Generator using seperate SEQUENCE objects for databases that support them. |
SGeneratorSequenceTable.java | Class | Generator using seperate SEQUENCE objects for databases that support them. |
SJSharp.java | Class | This class contains a few required utilities to enable SimpleORM to run
under j# (.net)!
The only other classes that need overriding are
SArraylist, SThreadLocal, and SSerializable. |
SLog.java | Class | Very simple logging system. |
SPreparedStatement.java | Class | This class represents a SimpleORM prepared query statement. |
SQuery.java | Class | Provides the non-SQL query interface. |
SRecordFinder.java | Class | |
SRecordInstance.java | Class | Each SRecordInstance represents an individual record in memory
that either correspond to a row in the database or are a new
record that has yet to be inserted.
RecordInstances are created by either
SRecordMeta.findOrCreate findOrCreate or
SResultSet.getRecord . |
SRecordMeta.java | Class | Defines the meta data for a
SRecordInstance such as
the table name. |
SRecordUpdater.java | Class | Overflow from SRecordInstance, all the flushing logic. |
SResultSet.java | Class | This class is analagous to a JDBC result set. |
SSerializable.java | Interface | Wrapper required for J# compatibility. |
SSimpleORMProperties.java | Interface | This interface contains all the SProperties constants used in
SimpleORM. |
SThreadLocal.java | Class | |
SUte.java | Class | Miscellaneous static utility methods that have
nowhere else to live. |
SValidationException.java | Class | This Exception thrown by user written code to indicate user data
entry errors, especially in the business rule methods. |