www.element4solution.com

e4s.db
Class E4DBReference

java.lang.Object
  extended by e4s.util.E4Object
      extended by e4s.db.E4DBReference
All Implemented Interfaces:
E4DBUsage_Intf

public class E4DBReference
extends E4Object
implements E4DBUsage_Intf

Reference from one database table to another. A reference is on field level, only if datatypes are matching and are user defined. Definitions can be made in the data-dictionary modules and are stored in the XML file.

Since:
JDK 1.4
See Also:
e4s.db.E4DBModify_Intf#getReferenceLookup(), E4DBModify_Intf.getReferenceDelete(E4DBColumnName), e4s.db.E4DBSelect_Intf#getReferenceLookup(), E4DBSelect_Intf.getReferenceDelete(E4DBColumnName)

Field Summary
static java.lang.String _XML_ATTR_REF_COLUMN
           
static java.lang.String _XML_ATTR_REF_STATUS
           
static java.lang.String _XML_ATTR_REF_TABLE
           
static java.lang.String _XML_TAG_REFERENCE
           
static int REFERENCE_DELETE
          Delete reference: when a record is deleted, also delete the records referenced.
static int REFERENCE_LOOKUP
          Lookup reference: before a record is deleted, lookup in the reference table if some values for the field are existing, and maybe terminate deletion.
static int REFERENCE_NONE
          No reference.
 
Fields inherited from class e4s.util.E4Object
CRLF, E4S_CORE_SYSTEM_LANGUAGE, NBSP, NULLSTR, URL_ENCODING_CHARSET
 
Constructor Summary
E4DBReference(E4DBTableName own_table, E4DBColumnName own_column, E4DBTableName ref_table, boolean ref_has_client, E4DBColumnName ref_column, int status)
           
E4DBReference(E4DBTableName ref_table, E4DBColumnName ref_column, int status)
           
 
Method Summary
static java.lang.String _getSVNVersionString()
           
static E4DBReference[] addUsage(E4DBReference[] reference, E4DBReference newReference)
          Add an element to an array of E4DBReference elements.
 boolean equalsReference(E4DBTableName ref_table, E4InputFieldName_Intf ref_column)
          Check, if reference table/column equals the requested table/column.
 E4DBColumnName getOwnColumnName()
           
 E4DBTableName getOwnTableName()
           
 E4DBColumnName getRefColumnName()
           
 boolean getRefHasClient()
           
 E4DBTableName getRefTableName()
           
 int getStatus()
           
static E4DBReference[] removeReference(E4DBReference[] reference, E4DBTableName table)
          Remove an element from an array of E4DBReference elements.
static E4DBReference[] removeReference(E4DBReference[] reference, E4DBTableName[] table)
          Remove an element from an array of E4DBReference elements.
static E4DBReference[] removeReference(E4DBReference[] reference, E4DBTableName[] table, E4DBColumnName[] column)
          Remove an element from an array of E4DBReference elements.
static E4DBReference[] removeReference(E4DBReference[] reference, E4DBTableName table, E4DBColumnName column)
          Remove an element from an array of E4DBReference elements.
 boolean renameColumn(E4DBTableName tablename, E4DBColumnName from, E4DBColumnName to)
          Rename a referenced column
 boolean renameTable(E4DBTableName from, E4DBTableName to)
          Rename a referenced column
 void setStatus(int status)
           
 java.lang.String toString()
           
 java.lang.String toXml()
           
 
Methods inherited from class e4s.util.E4Object
Calendar, CName, CName, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelApp, E4LabelNone, E4LabelNone, E4LabelNone, E4LabelNone, E4LabelSys, E4LabelSys, e4sCopyright, e4sVersion, encode, encode, encode, encodeHtml, encodeHtml, encodeHtml, encodeURL, encodeURL, encodeURL, finalize, getLINE, getTRACE, getTRACE, getTRACE, getTRACE, getTRACE, getTRACE, getTraceMemory, HtmlEncode, HtmlEncode, HtmlEncode, isdecimal, isdigit, isnotok, isnotok, isnumeric, isok, isok, isok, isok, lastCallingFunction, lastCallingFunction, lastCallingFunction, lastCallingFunction, lastCallingStack, mkdirs, null2nbsp, null2nbsp, null2nbsp, ok, ok, ok, ok, outPrintln, setLogFile4Trace, setTraceMemory, STACKTRACE, toDebug, toDouble, toFloat, toFloat, TRACE_CALLS, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, TRACE, wait
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

REFERENCE_NONE

public static final int REFERENCE_NONE
No reference.

See Also:
Constant Field Values

REFERENCE_LOOKUP

public static final int REFERENCE_LOOKUP
Lookup reference: before a record is deleted, lookup in the reference table if some values for the field are existing, and maybe terminate deletion.

See Also:
Constant Field Values

REFERENCE_DELETE

public static final int REFERENCE_DELETE
Delete reference: when a record is deleted, also delete the records referenced.

See Also:
Constant Field Values

_XML_TAG_REFERENCE

public static final java.lang.String _XML_TAG_REFERENCE
See Also:
Constant Field Values

_XML_ATTR_REF_TABLE

public static final java.lang.String _XML_ATTR_REF_TABLE
See Also:
Constant Field Values

_XML_ATTR_REF_COLUMN

public static final java.lang.String _XML_ATTR_REF_COLUMN
See Also:
Constant Field Values

_XML_ATTR_REF_STATUS

public static final java.lang.String _XML_ATTR_REF_STATUS
See Also:
Constant Field Values
Constructor Detail

E4DBReference

public E4DBReference(E4DBTableName own_table,
                     E4DBColumnName own_column,
                     E4DBTableName ref_table,
                     boolean ref_has_client,
                     E4DBColumnName ref_column,
                     int status)
              throws E4DBException
Throws:
E4DBException

E4DBReference

public E4DBReference(E4DBTableName ref_table,
                     E4DBColumnName ref_column,
                     int status)
              throws E4DBException
Throws:
E4DBException
Method Detail

getOwnTableName

public E4DBTableName getOwnTableName()

getRefTableName

public E4DBTableName getRefTableName()
Specified by:
getRefTableName in interface E4DBUsage_Intf

getOwnColumnName

public E4DBColumnName getOwnColumnName()

getRefColumnName

public E4DBColumnName getRefColumnName()
Specified by:
getRefColumnName in interface E4DBUsage_Intf

getStatus

public int getStatus()

setStatus

public void setStatus(int status)

getRefHasClient

public boolean getRefHasClient()
Specified by:
getRefHasClient in interface E4DBUsage_Intf

addUsage

public static E4DBReference[] addUsage(E4DBReference[] reference,
                                       E4DBReference newReference)
Add an element to an array of E4DBReference elements.

Parameters:
reference - the array of E4DBReference elements, can be null
newReference - the new element to be added
Returns:
an array which is +1 in size, containing the given array and appended the element
See Also:
AEP_EditingDataDescriptor_Intf.modifyDeleteIntegrityList(e4s.db.E4DBReference[]), #removeReference()

removeReference

public static E4DBReference[] removeReference(E4DBReference[] reference,
                                              E4DBTableName table)
Remove an element from an array of E4DBReference elements. All entries by the specified table will be removed.

Parameters:
reference - the array of E4DBReference elements, can be null
table - the table to be removed, may not be null or empty
Returns:
an array which is propably -1 in size, containing the given array but removed one or more elements
See Also:
AEP_EditingDataDescriptor_Intf.modifyDeleteIntegrityList(e4s.db.E4DBReference[]), #addUsage()

removeReference

public static E4DBReference[] removeReference(E4DBReference[] reference,
                                              E4DBTableName[] table)
Remove an element from an array of E4DBReference elements. All entries by the specified table will be removed.

Parameters:
reference - the array of E4DBReference elements, can be null
table - the table to be removed, may not be null or empty
Returns:
an array which is propably -1 in size, containing the given array but removed one or more elements
See Also:
AEP_EditingDataDescriptor_Intf.modifyDeleteIntegrityList(e4s.db.E4DBReference[]), #addUsage()

removeReference

public static E4DBReference[] removeReference(E4DBReference[] reference,
                                              E4DBTableName table,
                                              E4DBColumnName column)
Remove an element from an array of E4DBReference elements.

Parameters:
reference - the array of E4DBReference elements, can be null
table - the table to be removed, may not be null or empty
column - null if all columns targeting the specified table shall be removed, or a particular column
Returns:
an array which is propably -1 in size, containing the given array but removed one or more elements
See Also:
AEP_EditingDataDescriptor_Intf.modifyDeleteIntegrityList(e4s.db.E4DBReference[]), #addUsage()

removeReference

public static E4DBReference[] removeReference(E4DBReference[] reference,
                                              E4DBTableName[] table,
                                              E4DBColumnName[] column)
Remove an element from an array of E4DBReference elements.

Parameters:
reference - the array of E4DBReference elements, can be null
table - the reference-table to be removed, may not be null or empty
column - null if all columns targeting the specified table shall be removed, or a particular reference-column
Returns:
an array which is propably -1 in size, containing the given array but removed one or more elements
See Also:
AEP_EditingDataDescriptor_Intf.modifyDeleteIntegrityList(e4s.db.E4DBReference[]), #addUsage()

toXml

public java.lang.String toXml()

equalsReference

public boolean equalsReference(E4DBTableName ref_table,
                               E4InputFieldName_Intf ref_column)
Check, if reference table/column equals the requested table/column.

Parameters:
ref_table - table-name to be looked up
ref_column - column-name to be looked up
Returns:
true, if reference names are matching

toString

public java.lang.String toString()
Overrides:
toString in class E4Object

renameColumn

public boolean renameColumn(E4DBTableName tablename,
                            E4DBColumnName from,
                            E4DBColumnName to)
Rename a referenced column


renameTable

public boolean renameTable(E4DBTableName from,
                           E4DBTableName to)
Rename a referenced column


_getSVNVersionString

public static java.lang.String _getSVNVersionString()

www.element4solution.com