com.crystaldecisions.sdk.occa.report.data
Class TableLink

java.lang.Object
  extended by com.crystaldecisions.sdk.occa.report.data.TableLink
All Implemented Interfaces:
ITableLink, IClone

public class TableLink
extends java.lang.Object
implements ITableLink, IClone

This object implements a link between two tables. The tables may be in different databases. A field from the one table (called the source table) and a field from the other table (called the target table) are used to link the two tables together. When possible, use the ITableLink interface to manipulate this object.

Note: The ITableLink APIs only support Crystal Report Writer version 8.5 link types. Version 9 or greater links are treated as an Advanced type TableJoinType. You cannot modify existing link objects to Advanced type. Use the ITableJoin APIs to modify a version 9 or greater link.

See Also:
com.crystaldecisions.sdk.occa.report.application.DatabaseController#addTable(ITable, TableLinks) DatabaseController.addTable(ITable, TableLinks)} {@link com.crystaldecisions.sdk.occa.report.application.DatabaseController#addTableLink(ITableLink) DatabaseController.addTableLink(ITableLink)} {@link com.crystaldecisions.sdk.occa.report.application.DatabaseController#modifyTableLink(ITableLink, ITableLink) DatabaseController.modifyTableLink(ITableLink, ITableLink)} {@link com.crystaldecisions.sdk.occa.report.application.DatabaseController#removeTableLink(ITableLink) DatabaseController.removeTableLink(ITableLink)} {@link com.crystaldecisions.sdk.occa.report.application.DatabaseController#findTableLink(Object, Object) DatabaseController.findTableLink(Object, Object)}

Constructor Summary
TableLink()
           
TableLink(ITableLink src)
           
 
Method Summary
 java.lang.Object clone(boolean deepClone)
           
 void copyTo(java.lang.Object destObject, boolean deepCopy)
           
 java.lang.Object createMember(java.lang.String eleName, org.xml.sax.Attributes attrs, com.crystaldecisions.xml.serialization.XMLSerializationContext ctxt, java.util.Map objState, boolean[] bLoaded)
           For internal use only.
 void endElement(java.lang.String eleName, java.util.Map objState)
           For internal use only.
 TableJoinType getJoinType()
           Returns the manner in which the tables are joined.
 IStrings getSourceFieldNames()
           Returns the names of the fields contained in the source table to be linked.
 java.lang.String getSourceTableAlias()
           Returns the source table's alias.
 IStrings getTargetFieldNames()
           Returns the names of the fields contained in the target table to be linked.
 java.lang.String getTargetTableAlias()
           Returns the target table's alias.
 boolean hasContent(java.lang.Object srcTableLink)
           
 void readElement(java.lang.String eleName, java.lang.String sVal, org.xml.sax.Attributes attrs, java.util.Map objState)
           For internal use only.
 void save(com.crystaldecisions.xml.serialization.XMLWriter writer, com.crystaldecisions.xml.serialization.XMLSerializationContext ctxt)
           For internal use only.
 void save(com.crystaldecisions.xml.serialization.XMLWriter writer, java.lang.String sTag, com.crystaldecisions.xml.serialization.XMLSerializationContext ctxt)
           For internal use only.
 void saveContents(XMLWriter writer, XMLSerializationContext ctxt)
           For internal use only.
 void setJoinType(TableJoinType joinType)
           Sets the manner in which the tables are joined.
 void setSourceFieldNames(IStrings sourceFieldNames)
           Sets the names of the fields contained in the source table to be linked.
 void setSourceTableAlias(java.lang.String srcTableAlias)
           Sets the source table's alias.
 void setTargetFieldNames(IStrings targetFieldNames)
           Sets the names of the fields contained in the target table to be linked.
 void setTargetTableAlias(java.lang.String targetTableAlias)
           Sets the target table's alias.
 void startElement(java.lang.String eleName, java.util.Map objState, org.xml.sax.Attributes attrs)
           For internal use only.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TableLink

public TableLink(ITableLink src)

TableLink

public TableLink()
Method Detail

clone

public java.lang.Object clone(boolean deepClone)

copyTo

public void copyTo(java.lang.Object destObject,
                   boolean deepCopy)

createMember

public java.lang.Object createMember(java.lang.String eleName,
                                     org.xml.sax.Attributes attrs,
                                     com.crystaldecisions.xml.serialization.XMLSerializationContext ctxt,
                                     java.util.Map objState,
                                     boolean[] bLoaded)

For internal use only.


endElement

public void endElement(java.lang.String eleName,
                       java.util.Map objState)

For internal use only.


getJoinType

public TableJoinType getJoinType()
Description copied from interface: ITableLink

Returns the manner in which the tables are joined.

Specified by:
getJoinType in interface ITableLink
Returns:
A TableJoinType object that specifies the manner in which the tables are joined.
See Also:
TableJoinType

getSourceFieldNames

public IStrings getSourceFieldNames()
Description copied from interface: ITableLink

Returns the names of the fields contained in the source table to be linked.

Specified by:
getSourceFieldNames in interface ITableLink
Returns:
An IStrings object containing the names of the fields contained in the source table to be linked.

getSourceTableAlias

public java.lang.String getSourceTableAlias()
Description copied from interface: ITableLink

Returns the source table's alias.

Specified by:
getSourceTableAlias in interface ITableLink
Returns:
A String containing the source table's alias.

getTargetFieldNames

public IStrings getTargetFieldNames()
Description copied from interface: ITableLink

Returns the names of the fields contained in the target table to be linked.

Specified by:
getTargetFieldNames in interface ITableLink
Returns:
An IStrings object containing the names of the fields contained in the target table to be linked.

getTargetTableAlias

public java.lang.String getTargetTableAlias()
Description copied from interface: ITableLink

Returns the target table's alias.

Specified by:
getTargetTableAlias in interface ITableLink
Returns:
A String containing the target table's alias.

hasContent

public boolean hasContent(java.lang.Object srcTableLink)

readElement

public void readElement(java.lang.String eleName,
                        java.lang.String sVal,
                        org.xml.sax.Attributes attrs,
                        java.util.Map objState)

For internal use only.


save

public void save(com.crystaldecisions.xml.serialization.XMLWriter writer,
                 com.crystaldecisions.xml.serialization.XMLSerializationContext ctxt)
          throws java.io.IOException

For internal use only.

Throws:
java.io.IOException

save

public void save(com.crystaldecisions.xml.serialization.XMLWriter writer,
                 java.lang.String sTag,
                 com.crystaldecisions.xml.serialization.XMLSerializationContext ctxt)
          throws java.io.IOException

For internal use only.

Throws:
java.io.IOException

saveContents

public void saveContents(XMLWriter writer,
                         XMLSerializationContext ctxt)
                  throws java.io.IOException

For internal use only.

Throws:
java.io.IOException

setJoinType

public void setJoinType(TableJoinType joinType)
Description copied from interface: ITableLink

Sets the manner in which the tables are joined.

Specified by:
setJoinType in interface ITableLink
Parameters:
joinType - A TableJoinType object that specifies the manner in which the tables are joined.

setSourceFieldNames

public void setSourceFieldNames(IStrings sourceFieldNames)
Description copied from interface: ITableLink

Sets the names of the fields contained in the source table to be linked.

Specified by:
setSourceFieldNames in interface ITableLink
Parameters:
sourceFieldNames - An IStrings object containing the names of the fields contained in the source table to be linked.

setSourceTableAlias

public void setSourceTableAlias(java.lang.String srcTableAlias)
Description copied from interface: ITableLink

Sets the source table's alias.

Specified by:
setSourceTableAlias in interface ITableLink
Parameters:
srcTableAlias - A String containing the source table's alias.

setTargetFieldNames

public void setTargetFieldNames(IStrings targetFieldNames)
Description copied from interface: ITableLink

Sets the names of the fields contained in the target table to be linked.

Specified by:
setTargetFieldNames in interface ITableLink
Parameters:
targetFieldNames - An IStrings object containing the names of the fields contained in the target table to be linked.

setTargetTableAlias

public void setTargetTableAlias(java.lang.String targetTableAlias)
Description copied from interface: ITableLink

Sets the target table's alias.

Specified by:
setTargetTableAlias in interface ITableLink
Parameters:
targetTableAlias - A String containing the target table's alias.

startElement

public void startElement(java.lang.String eleName,
                         java.util.Map objState,
                         org.xml.sax.Attributes attrs)

For internal use only.