Package com.tietoenator.trip.jxp.database

# Class TdbFieldDesign

java.lang.Object
com.tietoenator.trip.jxp.database.TdbFieldDesign

All Implemented Interfaces:
  `com.tietoenator.trip.jxp.internal.utils.DOMSink`, `Comparable<TdbFieldDesign>`

public class TdbFieldDesign extends Object implements com.tietoenator.trip.jxp.internal.utils.DOMSink, Comparable<TdbFieldDesign>
Container and logic relating to a specific field within a database design

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TdbFieldDesign()`
  Constructor, creates a blank field design
  `TdbFieldDesign(TdbFieldDesign src)`
  Copy constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `clear()`
  Clear the contents of the field design, reset all values to their default state.
  `int`
  `compareTo(TdbFieldDesign field)`
  Order this object with relation to another -- required to be able to sort a collection of these objects.
  `void`
  `copyFrom(TdbFieldDesign src)`
  Initialize this instance from the source provided
  `boolean`
  `equals(Object o)`
  Compares to another object; equality is defined by field number only
  `String`
  `getCopyrightHolderField()`
  Retrieve the name of the field in which the name or identifier of the copyright holder of the information contained within this field can be found.
  `int`
  `getCost()`
  Retrieve the field's cost, that is the unit cost that is reported in the server's debit logfile every time a user views the content of the field.
  `TdbDefaultFunction`
  `getDefaultFunction()`
  Retrieve the function id that will be run to create default field content if no other values are provided.
  `String`
  `getDefaultValue()`
  Retrieve the value that is applied to the field if no other values are provided.
  `String`
  `getDescription()`
  Retrieve any comment or description associated with the field design
  `String`
  `getIndexAse()`
  Retrieve the name of an ASE function called when scanning terms in this field during indexing.
  `int`
  `getIndexMode()`
  Retrieve the index mode of the field.
  `String`
  `getLoadAse()`
  Retrieve the name of an ASE function called when storing values in this field using the TFORM load utility (BAFFIT)
  `int`
  `getMaxItems()`
  Retrieve the maximum number of items (subfields / paragraphs) that the field can validly contain.
  `int`
  `getMinItems()`
  Retrieve the minimum number of items (subfields / paragraphs) that the field can validly contain.
  `String`
  `getName()`
  Retrieve the name of the field
  `int`
  `getNumber()`
  Retrieve the field's unique ID
  `String`
  `getRestriction()`
  Retrieve any restriction value associated with the field.
  `String`
  `getType()`
  Retrieve the type of the field, e.g.
  `TdbFieldType`
  `getTypeId()`
  Retrieve the type of the field as an ID, therefore dialect-indepedent
  `boolean`
  `getUsesPattern()`
  Check if this field's data restrictions are to be evaluated as a pattern (a regular expression).
  `boolean`
  `getUsesReference()`
  Check if this field's data restrictions are to be interpreted as a reference to a field in another database.
  `boolean`
  `isFieldIndexed()`
  Check if the index for this field should be constructed and stored separately from that for other fields within the database.
  `boolean`
  `isIncludedInTextProcessing()`
  Check if this field is included in non-Boolean text processing, e.g. similarity searching, classification, summarization, etc.
  `boolean`
  `isIndexed()`
  Check if this field is indexed in any way.
  `boolean`
  `isOriginalLayout()`
  Check if the field is stored in original layout, or if TRIP will compress white space when storing field values.
  `boolean`
  `isPartField()`
  Check if this field is a member of the part record structure
  `boolean`
  `isPartNameField()`
  Check if this field is the part record name field
  `boolean`
  `isRecordNameField()`
  Check if this field is the record name field, i.e. the record's primary key
  `boolean`
  `isRecordNumberField()`
  Check if this field is the record number field
  `boolean`
  `isUnique()`
  Check if field values are to be validated for uniqueness.
  `boolean`
  `isWordIndexed()`
  Check if the index for this (PHrase-only) field should consist of the phrase and its constituent words (false), or whether only the constituent words (true) should be indexed and not the containing phrase.
  `void`
  `setCopyrightHolderField(String name)`
  Establish the name of the field in which the name or identifier of the copyright holder of the information contained within this field can be found.
  `void`
  `setCost(int cost)`
  Establish the field's cost, that is the unit cost that is reported in the server's debit logfile every time a user views the content of the field.
  `void`
  `setDefaultFunction(TdbDefaultFunction func)`
  Establish the function id that will be run to create default field content if no other values are provided.
  `void`
  `setDefaultValue(String value)`
  Establish the value that is to be applied to the field if no other values are provided.
  `void`
  `setDescription(String comment)`
  Establish a comment or description to be associated with the field design
  `void`
  `setFieldIndexed(boolean mode)`
  Establish whether the index for this field should be constructed and stored separately from that for other fields within the database.
  `void`
  `setIncludedInTextProcessing(boolean mode)`
  Establish whether this field is to be included in non-Boolean text processing, e.g. similarity searching, classification, summarization, etc.
  `void`
  `setIndexAse(String ase)`
  Establish the name of an ASE function to be called when scanning terms in this field during indexing.
  `void`
  `setIndexed(boolean mode)`
  Establish whether this field is indexed in any way.
  `void`
  `setIndexMode(int mode)`
  Establish the index mode of the field.
  `void`
  `setLoadAse(String ase)`
  Establish the name of an ASE function to be called when storing values in this field using the TFORM load utility (BAFFIT)
  `void`
  `setMaxItems(int items)`
  Establish the maximum number of items (subfields / paragraphs) that the field can validly contain.
  `void`
  `setMinItems(int items)`
  Establish the minimum number of items (subfields / paragraphs) that the field can validly contain.
  `void`
  `setName(String name)`
  Establish the name of the field
  `void`
  `setNumber(int nr)`
  Assign the field's unique ID.
  `void`
  `setOriginalLayout(boolean layout)`
  Establish whether the field is to be stored in original layout, or if TRIP should compress white space when storing field values.
  `void`
  `setPartField(boolean flag)`
  Establish this field as belonging to the part record structure
  `void`
  `setPartNameField(boolean flag)`
  Establish whether this field is the part record name field
  `void`
  `setRecordNameField(boolean flag)`
  Establish whether this field is the record name field, i.e. the record's primary key
  `void`
  `setRecordNumberField(boolean flag)`
  Establish whether this field is the record number field
  `void`
  `setRestriction(String value)`
  Establish a restriction value associated with the field.
  `void`
  `setType(String type)`
  Establish the type of the field, e.g.
  `void`
  `setTypeId(TdbFieldType typeId)`
  Set the type of the field.
  `void`
  `setUnique(boolean unique)`
  Establish whether field values are to be validated for uniqueness.
  `void`
  `setUsesPattern(boolean flag)`
  Establish whether this field's data restrictions are to be evaluated as a pattern (a regular expression).
  `void`
  `setUsesReference(boolean flag)`
  Establish whether this field's data restrictions are to be interpreted as a reference to a field in another database.
  `void`
  `setWordIndexed(boolean mode)`
  Establish whether the index for this (PHrase-only) field should consist of the phrase and its constituent words (false), or whether only the constituent words (true) should be indexed and not the containing phrase.

  ### Methods inherited from class java.lang.Object

  `getClass, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### TdbFieldDesign

    public TdbFieldDesign()
    Constructor, creates a blank field design

  - ### TdbFieldDesign

    public TdbFieldDesign(TdbFieldDesign src)
    Copy constructor
    Parameters:
      `src` - Copy source

- ## Method Details

  - ### getName

    public String getName()
    Retrieve the name of the field
    Returns:
      Field name

  - ### setName

    public void setName(String name)
    Establish the name of the field
    Parameters:
      `name` - Field name

  - ### getType

    public String getType()
    Retrieve the type of the field, e.g. PHrase, TExt, etc.
    Returns:
      Field type

  - ### setType

    public void setType(String type)
    Establish the type of the field, e.g. PHrase, TExt, etc.
    Parameters:
      `type` - Field type

  - ### getCopyrightHolderField

    public String getCopyrightHolderField()
    Retrieve the name of the field in which the name or identifier of the copyright holder of the information contained within this field can be found.
    Returns:
      Copyright holder field, if any

  - ### setCopyrightHolderField

    public void setCopyrightHolderField(String name)
    Establish the name of the field in which the name or identifier of the copyright holder of the information contained within this field can be found.
    Parameters:
      `name` - Copyright holder field

  - ### getDescription

    public String getDescription()
    Retrieve any comment or description associated with the field design
    Returns:
      Field comment, if any

  - ### setDescription

    public void setDescription(String comment)
    Establish a comment or description to be associated with the field design
    Parameters:
      `comment` - Field comment

  - ### getRestriction

    public String getRestriction()
    Retrieve any restriction value associated with the field. This value is either a simple list of valid values that the field may take, or an argument for a specific type of restriction, see `getUsesPattern` and `getUsesReference`.
    Returns:
      Restriction value, if any

  - ### setRestriction

    public void setRestriction(String value)
    Establish a restriction value associated with the field. This value is either a simple list of valid values that the field may take, or an argument for a specific type of restriction, see `getUsesPattern` and `getUsesReference`.
    Parameters:
      `value` - Restriction value

  - ### getUsesPattern

    public boolean getUsesPattern()
    Check if this field's data restrictions are to be evaluated as a pattern (a regular expression). If this value is true, the string returned by the method `getRestriction` is the pattern to which field values must conform.
    Returns:
      true if field values must conform to a pattern

  - ### setUsesPattern

    public void setUsesPattern(boolean flag)
    Establish whether this field's data restrictions are to be evaluated as a pattern (a regular expression). If this value is true, the string set by the method `setRestriction` is the pattern to which field values must conform.
    Parameters:
      `flag` - true if field values must conform to a pattern

  - ### getUsesReference

    public boolean getUsesReference()
    Check if this field's data restrictions are to be interpreted as a reference to a field in another database. If this value is true, the string returned by the method `getRestriction` is the name of the database and field (using the normal "Database.Field" syntax) where the list of valid values for this field can be found
    Returns:
      true if field values must conform to values in another database

  - ### setUsesReference

    public void setUsesReference(boolean flag)
    Establish whether this field's data restrictions are to be interpreted as a reference to a field in another database. If this value is true, the string set by the method `setRestriction` is the name of the database and field (using the normal "Database.Field" syntax) where the list of valid values for this field can be found
    Parameters:
      `flag` - true if field values must conform to values in another database

  - ### getLoadAse

    public String getLoadAse()
    Retrieve the name of an ASE function called when storing values in this field using the TFORM load utility (BAFFIT)
    Returns:
      Load ASE name, if any

  - ### setLoadAse

    public void setLoadAse(String ase)
    Establish the name of an ASE function to be called when storing values in this field using the TFORM load utility (BAFFIT)
    Parameters:
      `ase` - Load ASE name

  - ### getIndexAse

    public String getIndexAse()
    Retrieve the name of an ASE function called when scanning terms in this field during indexing.
    Returns:
      Index ASE name, if any

  - ### setIndexAse

    public void setIndexAse(String ase)
    Establish the name of an ASE function to be called when scanning terms in this field during indexing.
    Parameters:
      `ase` - Index ASE name

  - ### getDefaultValue

    public String getDefaultValue()
    Retrieve the value that is applied to the field if no other values are provided. See `getDefaultFunction` for more flexibility.
    Returns:
      Default field value, if any

  - ### setDefaultValue

    public void setDefaultValue(String value)
    Establish the value that is to be applied to the field if no other values are provided. See `getDefaultFunction` for more flexibility.
    Parameters:
      `value` - Default field value

  - ### getDefaultFunction

    public TdbDefaultFunction getDefaultFunction()
    Retrieve the function id that will be run to create default field content if no other values are provided.
    Returns:
      Default field function, if any

  - ### setDefaultFunction

    public void setDefaultFunction(TdbDefaultFunction func)
    Establish the function id that will be run to create default field content if no other values are provided.
    Parameters:
      `func` - Default field function

  - ### isOriginalLayout

    public boolean isOriginalLayout()
    Check if the field is stored in original layout, or if TRIP will compress white space when storing field values. Only relevant to TExt fields.
    Returns:
      true if the field is to be compressed.

  - ### setOriginalLayout

    public void setOriginalLayout(boolean layout)
    Establish whether the field is to be stored in original layout, or if TRIP should compress white space when storing field values. Only relevant to TExt fields.
    Parameters:
      `layout` - true if the field is to be compressed.

  - ### isUnique

    public boolean isUnique()
    Check if field values are to be validated for uniqueness.
    Returns:
      true if field values must be unique

  - ### setUnique

    public void setUnique(boolean unique)
    Establish whether field values are to be validated for uniqueness.
    Parameters:
      `unique` - true if field values must be unique

  - ### isRecordNameField

    public boolean isRecordNameField()
    Check if this field is the record name field, i.e. the record's primary key
    Returns:
      true if the field is the record name field

  - ### setRecordNameField

    public void setRecordNameField(boolean flag)
    Establish whether this field is the record name field, i.e. the record's primary key
    Parameters:
      `flag` - true if the field is the record name field

  - ### isRecordNumberField

    public boolean isRecordNumberField()
    Check if this field is the record number field
    Returns:
      true if the field is the record number field

  - ### setRecordNumberField

    public void setRecordNumberField(boolean flag)
    Establish whether this field is the record number field
    Parameters:
      `flag` - true if the field is the record number field

  - ### isPartNameField

    public boolean isPartNameField()
    Check if this field is the part record name field
    Returns:
      true if the field is the part record name field

  - ### setPartNameField

    public void setPartNameField(boolean flag)
    Establish whether this field is the part record name field
    Parameters:
      `flag` - true if the field is the part record name field

  - ### isPartField

    public boolean isPartField()
    Check if this field is a member of the part record structure
    Returns:
      true if this field is in the part record structure

  - ### setPartField

    public void setPartField(boolean flag)
    Establish this field as belonging to the part record structure
    Parameters:
      `flag` - true if this field is to be in the part record structure

  - ### getTypeId

    public TdbFieldType getTypeId()
    Retrieve the type of the field as an ID, therefore dialect-indepedent
    Returns:
      Field type ID

  - ### setTypeId

    public void setTypeId(TdbFieldType typeId)
    Set the type of the field.
    Parameters:
      `typeId` - A TdbFieldType enum indicating the field type.

  - ### getIndexMode

    public int getIndexMode()
    Retrieve the index mode of the field. Note that this is more easily interpreted using the methods `isIndexed`, `isFieldIndexed`, `isWordIndexed`, and `isIncludedInTextProcessing`
    Returns:
      Index mode

  - ### setIndexMode

    public void setIndexMode(int mode)
    Establish the index mode of the field. Note that this is more easily modified using the methods `setIndexed`, `setFieldIndexed`, `setWordIndexed`, and `setIncludedInTextProcessing`
    Parameters:
      `mode` - Index mode

  - ### isIndexed

    public boolean isIndexed()
    Check if this field is indexed in any way.
    Returns:
      true if the field is included in the index in some form

  - ### setIndexed

    public void setIndexed(boolean mode)
    Establish whether this field is indexed in any way.
    Parameters:
      `mode` - If this value is false, all indexing flags are removed for the field; if true, the field is enabled for indexing and the type of indexing can be further modified using other index-related methods.

  - ### isFieldIndexed

    public boolean isFieldIndexed()
    Check if the index for this field should be constructed and stored separately from that for other fields within the database. This can help performance in certain circumstances, such as for code fields that store very commonly occuring terms as abbreviations, for example stock symbols, etc.
    Returns:
      true if the field is setup for separate field-level indexing

  - ### setFieldIndexed

    public void setFieldIndexed(boolean mode)
    Establish whether the index for this field should be constructed and stored separately from that for other fields within the database. This can help performance in certain circumstances, such as for code fields that store very commonly occuring terms as abbreviations, for example stock symbols, etc.
    Parameters:
      `mode` - true if the field is to be setup for separate field-level indexing

  - ### isWordIndexed

    public boolean isWordIndexed()
    Check if the index for this (PHrase-only) field should consist of the phrase and its constituent words (false), or whether only the constituent words (true) should be indexed and not the containing phrase. This is intended as a storage performance optimization for PHrase fields that contain single words.
    Returns:
      true if the PHrase field is setup for word-level indexing

  - ### setWordIndexed

    public void setWordIndexed(boolean mode)
    Establish whether the index for this (PHrase-only) field should consist of the phrase and its constituent words (false), or whether only the constituent words (true) should be indexed and not the containing phrase. This is intended as a storage performance optimization for PHrase fields that contain single words.
    Parameters:
      `mode` - true if the PHrase field is setup for word-level indexing

  - ### isIncludedInTextProcessing

    public boolean isIncludedInTextProcessing()
    Check if this field is included in non-Boolean text processing, e.g. similarity searching, classification, summarization, etc.
    Returns:
      true if the field is included in text processing (TExt and PHrase only)

  - ### setIncludedInTextProcessing

    public void setIncludedInTextProcessing(boolean mode)
    Establish whether this field is to be included in non-Boolean text processing, e.g. similarity searching, classification, summarization, etc.
    Parameters:
      `mode` - true if the field is included in text processing (TExt and PHrase only)

  - ### getNumber

    public int getNumber()
    Retrieve the field's unique ID
    Returns:
      Field number

  - ### setNumber

    public void setNumber(int nr)
    Assign the field's unique ID.
    Parameters:
      `nr` - Field number Please note that a field's number is set by the server and can't be modified meaningfully.

  - ### getCost

    public int getCost()
    Retrieve the field's cost, that is the unit cost that is reported in the server's debit logfile every time a user views the content of the field.
    Returns:
      Unit cost

  - ### setCost

    public void setCost(int cost)
    Establish the field's cost, that is the unit cost that is reported in the server's debit logfile every time a user views the content of the field.
    Parameters:
      `cost` - Unit cost

  - ### getMinItems

    public int getMinItems()
    Retrieve the minimum number of items (subfields / paragraphs) that the field can validly contain.
    Returns:
      Minimum acceptable items

  - ### setMinItems

    public void setMinItems(int items)
    Establish the minimum number of items (subfields / paragraphs) that the field can validly contain.
    Parameters:
      `items` - Minimum acceptable items

  - ### getMaxItems

    public int getMaxItems()
    Retrieve the maximum number of items (subfields / paragraphs) that the field can validly contain.
    Returns:
      Maximum acceptable items

  - ### setMaxItems

    public void setMaxItems(int items)
    Establish the maximum number of items (subfields / paragraphs) that the field can validly contain.
    Parameters:
      `items` - Maximum acceptable items

  - ### copyFrom

    public void copyFrom(TdbFieldDesign src)
    Initialize this instance from the source provided
    Parameters:
      `src` - Source from which to copy

  - ### clear

    public void clear()
    Clear the contents of the field design, reset all values to their default state.

  - ### equals

    public boolean equals(Object o)
    Compares to another object; equality is defined by field number only
    Overrides:
      `equals` in class `Object`
    Parameters:
      `o` - Object with which to compare
    Returns:
      true if field numbers match

  - ### compareTo

    public int compareTo(TdbFieldDesign field)
    Order this object with relation to another -- required to be able to sort a collection of these objects.
    Specified by:
      `compareTo` in interface `Comparable<TdbFieldDesign>`
    Parameters:
      `field` - The field to compare to the current; ordering is performed using the field number only
    Returns:
      -1 if this field's number is lower than that on the provided object; +1 if this field's number is higher than that on the provided object; 0 if the field numbers are the same