edu.udo.cs.miningmart.m4.core
Class M4Object

java.lang.Object
  extended byedu.udo.cs.miningmart.m4.core.M4Object
All Implemented Interfaces:
java.lang.Comparable, M4Object, java.io.Serializable
Direct Known Subclasses:
M4Data

public abstract class M4Object
extends java.lang.Object
implements java.io.Serializable, java.lang.Comparable, M4Object

The super class for all M4 objects. All M4 objects have a unique ID and a reference to the DB object that is used in the current compiler thread. Thus there are setter and getter methods for them in this class.

Version:
$Id: M4Object.java,v 1.3 2006/04/11 14:10:14 euler Exp $
Author:
Timm Euler
See Also:
M4Data, Operator, Serialized Form

Field Summary
protected  long myId
           
protected  java.lang.String myName
           
 
Constructor Summary
M4Object(DB db)
           
 
Method Summary
 int compareTo(java.lang.Object anM4Object)
           
 void doPrint(java.lang.Exception ex)
          Method to be used by all subclasses to print exception messages to the screen or log file.
 void doPrint(java.util.logging.Level verbosity, java.lang.String printString)
          Method to be used by all subclasses to print messages to the screen or log file.
 boolean equals(java.lang.Object obj)
          Two M4Objects are defined to be equal, if they refer to the same object.
 java.lang.String executeBusinessSingleValueSqlRead(java.lang.String query)
           
 java.lang.Long executeBusinessSingleValueSqlReadL(java.lang.String query)
           
 java.sql.ResultSet executeBusinessSqlRead(java.lang.String query)
          Method to comfortably read from the business database.
 void executeBusinessSqlWrite(java.lang.String query)
          Method to comfortably write to the business database.
 java.lang.String executeM4SingleValueSqlRead(java.lang.String query)
           
 java.lang.Long executeM4SingleValueSqlReadL(java.lang.String query)
           
 java.sql.ResultSet executeM4SqlRead(java.lang.String query)
          Method to comfortably read from the M4 database.
 void executeM4SqlWrite(java.lang.String query)
          Method to comfortably write to the M4 database.
 Print getCasePrintObject()
           
 long getId()
          Get the Id.
 DB getM4Db()
          Get the DB object.
 M4Object getM4ObjectFromCache(long Id)
          This method returns the object with the given Id if it is in the Cache.
 java.lang.String getName()
          Get the name of this M4 object.
 long getNextM4SequenceValue()
           
 boolean isNew()
          Check if this object was newly created by the user, or if it is already in the database.
 M4Object load(long id)
          Load the M4 object with the given ID.
abstract  void print()
          Print this M4 object's parameters.
 void putM4ObjectToCache(M4Object m4o)
          This method stores an M4 object in the Cache, using its ID as the key for the underlying data structure.
abstract  void readFromDb()
          Must be implemented by all subclasses.
 java.lang.String replaceSpacesInName(java.lang.String name)
          Service method for M4Object names that are also used as DB names.
 void setId(long newId)
          Only use this method if you know what you are doing.
 void setName(java.lang.String n)
          Set the name of this M4 object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myName

protected java.lang.String myName

myId

protected long myId
Constructor Detail

M4Object

public M4Object(DB db)
Method Detail

getCasePrintObject

public Print getCasePrintObject()
Specified by:
getCasePrintObject in interface M4Object

load

public M4Object load(long id)
              throws M4Exception
Description copied from interface: M4Object
Load the M4 object with the given ID.

Specified by:
load in interface M4Object
Throws:
M4Exception

readFromDb

public abstract void readFromDb()
                         throws M4Exception
Must be implemented by all subclasses.

Throws:
M4Exception

print

public abstract void print()
Print this M4 object's parameters. Must be implemented by all subclasses.

Specified by:
print in interface M4Object

getId

public long getId()
Get the Id.

Specified by:
getId in interface M4Object
Returns:
This M4 object's ID.

setId

public void setId(long newId)
           throws M4Exception
Only use this method if you know what you are doing.

Specified by:
setId in interface M4Object
Parameters:
newId - The new id for this M4 object.
Throws:
M4Exception

getM4Db

public DB getM4Db()
Get the DB object.

Specified by:
getM4Db in interface M4Object
Returns:
The DB object that this M4 object was given last.
See Also:
edu.udo.cs.miningmart.m4.core.utils.DB

doPrint

public void doPrint(java.util.logging.Level verbosity,
                    java.lang.String printString)
Method to be used by all subclasses to print messages to the screen or log file.

Specified by:
doPrint in interface M4Object
Parameters:
verbosity - A verbosity level. Use one of the public static variables of the class Print.
printString - The string with the message.
See Also:
edu.udo.cs.miningmart.m4.core.utils.Print

doPrint

public void doPrint(java.lang.Exception ex)
Method to be used by all subclasses to print exception messages to the screen or log file.

Specified by:
doPrint in interface M4Object
Parameters:
ex - An exception object. Its message string will be printed.

setName

public void setName(java.lang.String n)
Set the name of this M4 object.

Specified by:
setName in interface M4Object
Parameters:
n - The new name.

replaceSpacesInName

public java.lang.String replaceSpacesInName(java.lang.String name)
Service method for M4Object names that are also used as DB names.

Specified by:
replaceSpacesInName in interface M4Object
Parameters:
name - the original name for an M4 object (or null)
Returns:
the specified name with all spaces replaced by underscores (or null)

getName

public java.lang.String getName()
Get the name of this M4 object.

Specified by:
getName in interface M4Object
Returns:
The M4 name

isNew

public boolean isNew()
Check if this object was newly created by the user, or if it is already in the database.

Specified by:
isNew in interface M4Object
Returns:
TRUE if this is a newly created object. FALSE if it is already in the database.

getM4ObjectFromCache

public M4Object getM4ObjectFromCache(long Id)
This method returns the object with the given Id if it is in the Cache.

Specified by:
getM4ObjectFromCache in interface M4Object
Parameters:
Id - The unique M4 Id of the object to be loaded.
Returns:
An M4Object if an object with the given Id is in the Cache; null otherwise.

putM4ObjectToCache

public void putM4ObjectToCache(M4Object m4o)
                        throws M4Exception
This method stores an M4 object in the Cache, using its ID as the key for the underlying data structure.

Specified by:
putM4ObjectToCache in interface M4Object
Throws:
M4CompilerError - if the object is null or has an ID of 0.
M4Exception

executeM4SqlWrite

public void executeM4SqlWrite(java.lang.String query)
                       throws M4Exception
Method to comfortably write to the M4 database.

Specified by:
executeM4SqlWrite in interface M4Object
Parameters:
query - an SQL query to be executed. This has to be a write operation to the M4 database, or an SQL string to execute a procedure in the M4 schema.
Throws:
M4Exception

executeBusinessSqlWrite

public void executeBusinessSqlWrite(java.lang.String query)
                             throws M4Exception
Method to comfortably write to the business database.

Specified by:
executeBusinessSqlWrite in interface M4Object
Parameters:
query - an SQL query to be executed. This has to be a write operation to the business database, or an SQL string to execute a procedure in the business schema.
Throws:
M4Exception

executeM4SqlRead

public java.sql.ResultSet executeM4SqlRead(java.lang.String query)
                                    throws M4Exception
Method to comfortably read from the M4 database. The caller has to close the returned ResultSet after usage!

Specified by:
executeM4SqlRead in interface M4Object
Parameters:
query - an SQL query to be executed. This has to be a read operation on the M4 database.
Returns:
the corresponding ResultSet
Throws:
M4Exception

executeBusinessSqlRead

public java.sql.ResultSet executeBusinessSqlRead(java.lang.String query)
                                          throws M4Exception
Method to comfortably read from the business database. The caller has to close the returned ResultSet after usage!

Specified by:
executeBusinessSqlRead in interface M4Object
Parameters:
query - an SQL query to be executed. This has to be a read operation on the business database.
Returns:
the corresponding ResultSet
Throws:
M4Exception

executeM4SingleValueSqlReadL

public java.lang.Long executeM4SingleValueSqlReadL(java.lang.String query)
                                            throws M4Exception
Specified by:
executeM4SingleValueSqlReadL in interface M4Object
Throws:
M4Exception
See Also:
In contrast to that method, this method creates and then closes its own Statement.

executeBusinessSingleValueSqlReadL

public java.lang.Long executeBusinessSingleValueSqlReadL(java.lang.String query)
                                                  throws M4Exception
Specified by:
executeBusinessSingleValueSqlReadL in interface M4Object
Throws:
M4Exception
See Also:
In contrast to that method, this method creates and then closes its own Statement.

executeM4SingleValueSqlRead

public java.lang.String executeM4SingleValueSqlRead(java.lang.String query)
                                             throws M4Exception
Specified by:
executeM4SingleValueSqlRead in interface M4Object
Throws:
M4Exception
See Also:
In contrast to that method, this method creates and then closes its own Statement.

executeBusinessSingleValueSqlRead

public java.lang.String executeBusinessSingleValueSqlRead(java.lang.String query)
                                                   throws M4Exception
Specified by:
executeBusinessSingleValueSqlRead in interface M4Object
Throws:
M4Exception
See Also:
In contrast to that method, this method creates and then closes its own Statement.

getNextM4SequenceValue

public long getNextM4SequenceValue()
                            throws M4Exception
Specified by:
getNextM4SequenceValue in interface M4Object
Returns:
the value returned by the sequence installed in the M4 schema.
Throws:
M4CompilerError - if for some reason the sequence does not return a value
M4Exception

equals

public boolean equals(java.lang.Object obj)
Two M4Objects are defined to be equal, if they refer to the same object. This is true, if their ID is the same.

Specified by:
equals in interface M4Object
Parameters:
obj - an Object to compare this object with.
Returns:
true iff obj is an M4Object with the same ID, or if both IDs are 0 then also with the same name.

compareTo

public int compareTo(java.lang.Object anM4Object)
              throws java.lang.ClassCastException
Specified by:
compareTo in interface java.lang.Comparable
Throws:
java.lang.ClassCastException


Copyright © 2001-2005