com.knowgate.hipergate
Class Address

java.lang.Object
  extended bycom.knowgate.dataobjs.DBPersist
      extended bycom.knowgate.hipergate.Address
All Implemented Interfaces:
java.util.Map

public class Address
extends DBPersist

Address

A generic postal address object for being associated to any other objects that may require address information.

Version:
3.0

Nested Class Summary
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Field Summary
static short ClassId
           
 
Fields inherited from class com.knowgate.dataobjs.DBPersist
AllVals, sAuditCls, sAuditUsr, sTransactId
 
Constructor Summary
Address()
          Create empty Address
Address(JDCConnection oConn, java.lang.String guAddr)
          Load Address from database
 
Method Summary
static boolean addLookupState(java.sql.Connection oConn, java.lang.String sGuWorkArea, java.lang.String sIdCountry, java.lang.String sNmState, java.util.HashMap oTranslations)
          Add a State for a given country at k_addresses_lookup table
static boolean addLookupStreetType(java.sql.Connection oConn, java.lang.String sGuWorkArea, java.lang.String sTpStreet, java.util.HashMap oTranslations)
          Add a Street Type lookup value
 boolean delete(JDCConnection oConn)
          Delete Address
static java.lang.String getIdFromEmail(JDCConnection oConn, java.lang.String sEMail, java.lang.String sWorkArea)
          Get Address Unique Id.
static int nextLocalIndex(java.sql.Connection oConn, java.lang.String sLinkTable, java.lang.String sLinkField, java.lang.String sLinkValue)
          Get next free address index for a given object.
 boolean store(JDCConnection oConn)
          Store Address
 
Methods inherited from class com.knowgate.dataobjs.DBPersist
allcaps, allcaps, changelog, clear, clone, containsKey, containsValue, entrySet, exists, get, get, getAuditClassName, getCreationDate, getDate, getDateFormated, getDateShort, getDecimal, getDecimalFormated, getDouble, getDoubleFormated, getFloat, getFloatFormated, getInt, getInteger, getItemMap, getItems, getShort, getString, getStringNull, getTable, getTable, getTableName, getTime, getTimeOfDay, getTimestamp, getUIdFromName, isEmpty, isNull, iterator, keySet, load, load, parseXML, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, putAll, putAll, remove, remove, replace, replace, replace, replace, setAuditTransact, setAuditUser, size, toLowerCase, toUpperCase, toXML, toXML, toXML, values
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

ClassId

public static final short ClassId
See Also:
Constant Field Values
Constructor Detail

Address

public Address()
Create empty Address


Address

public Address(JDCConnection oConn,
               java.lang.String guAddr)
        throws java.sql.SQLException
Load Address from database

Parameters:
oConn - Database Connection
guAddr - GUID of address to be loaded
Method Detail

delete

public boolean delete(JDCConnection oConn)
               throws java.sql.SQLException

Delete Address

Registers at k_x_company_addr and k_x_contact_addr are deleted on cascade

Overrides:
delete in class DBPersist
Parameters:
oConn - Database Connection
Returns:
true if Address existed at k_addresses table.
Throws:
java.sql.SQLException

store

public boolean store(JDCConnection oConn)
              throws java.sql.SQLException

Store Address

If gu_address is null a new GUID is automatically assigned.
dt_modified field is set to current date.
For generating a new address index call nextLocalIndex() and set property ix_address.
For example:
this.put (DB.ix_address, Address.nextLocalIndex(Connection, "k_x_company_addr", "gu_company"))

Overrides:
store in class DBPersist
Parameters:
oConn - Database Connection
Returns:
true is register was stored for the first time, false if register already existed.
Throws:
java.sql.SQLException

nextLocalIndex

public static int nextLocalIndex(java.sql.Connection oConn,
                                 java.lang.String sLinkTable,
                                 java.lang.String sLinkField,
                                 java.lang.String sLinkValue)
                          throws java.sql.SQLException

Get next free address index for a given object.

Address indexes are integers assigned on a per object basis.

Parameters:
oConn - Database Connection
sLinkTable - Table used for linking addresses to instances of objects of a given class (for example "k_x_company_addr").
sLinkField - Foreign object column name at link table (for example "gu_company")
sLinkValue - Value for foreign object GUID
Returns:
SELECT COUNT(*)+1 FROM sLinkTable WHERE sLinkField = sLinkValue
Throws:
java.sql.SQLException

getIdFromEmail

public static java.lang.String getIdFromEmail(JDCConnection oConn,
                                              java.lang.String sEMail,
                                              java.lang.String sWorkArea)
                                       throws java.sql.SQLException

Get Address Unique Id. from its e-mail.

Parameters:
oConn - Database Connection
sEMail - Address e-mail (tx_email from k_addresses table)
sWorkArea - WorkArea filter. If null all WorkAreas are seached
Returns:
User Unique Id. or null if no Address was found with such e-mail.
Throws:
java.sql.SQLException
Since:
2.2

addLookupState

public static boolean addLookupState(java.sql.Connection oConn,
                                     java.lang.String sGuWorkArea,
                                     java.lang.String sIdCountry,
                                     java.lang.String sNmState,
                                     java.util.HashMap oTranslations)
                              throws java.sql.SQLException

Add a State for a given country at k_addresses_lookup table

This methods checks whether the given State Name exists at k_addresses_lookup for a given country and, if not, then inserts it.
Example of how to call this method:
Connection oConn = // Code to get connection ;
HashMap oTr = new HashMap();
oTr.put("en", "New York");
oTr.put("fr", "Nouveau York");
oTr.put("es", "Nueva York");
Address.addState(oConn, "0123456789ABCDEFGHIJKLMNOPQRST", "us", "NY", oTr);

Parameters:
oConn - Connection
sGuWorkArea - String GUID of WorkArea
sIdCountry - String Two letters country identifier from k_lu_countries table
sNmState - String Language Neutral State Name or Code
oTranslations - HashMap with one entry for each language Language codes must be those from id_language column of k_lu_languages table.
Returns:
boolean true if state was added, false if it already existed
Throws:
java.sql.SQLException
Since:
3.0

addLookupStreetType

public static boolean addLookupStreetType(java.sql.Connection oConn,
                                          java.lang.String sGuWorkArea,
                                          java.lang.String sTpStreet,
                                          java.util.HashMap oTranslations)
                                   throws java.sql.SQLException

Add a Street Type lookup value

Parameters:
oConn - Connection
sGuWorkArea - String GUID of WorkArea
sTpStreet - String Street Type Internal Value
oTranslations - HashMap with one entry for each language
Returns:
boolean true if new street type was added, false if it already existed
Throws:
java.sql.SQLException
Since:
3.0