# Class Sequence

A customer sequence datatype, which is stored as a string and is made up of a string prefix and an integer sequence, which is stored in a database.

  AlphaDAO
  Sequence implements AlphaTypeInterface

Package: alpha::model::types
Copyright: Copyright (c) 2012, John Collins (founder of Alpha Framework). All rights reserved.

    Redistribution and use in source and binary forms, with or
    without modification, are permitted provided that the
    following conditions are met:

    * Redistributions of source code must retain the above
      copyright notice, this list of conditions and the
      following disclaimer.
    * Redistributions in binary form must reproduce the above
      copyright notice, this list of conditions and the
      following disclaimer in the documentation and/or other
      materials provided with the distribution.
    * Neither the name of the Alpha Framework nor the names
      of its contributors may be used to endorse or promote
      products derived from this software without specific
      prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
    CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

License: The BSD License
Author: John Collins <dev@alphaframework.org>
Version: $Id: Sequence.inc 1496 2012-02-12 20:32:21Z alphadev $
Since: 1.0
Located at model/types/Sequence.inc

Methods summary
`public` | # `__construct( )` The constructor The constructor #### Since 1.0 #### Overrides `AlphaDAO::__construct()`
`public string` | # `getRule( )` Get the validation rule Get the validation rule #### Returns `string` #### Since 1.0
`public` | # `setSequenceToNext( )` Sets the sequence number to be the maximum value matching the prefix in the database plus one. Note that calling this method increments the maximum value in the database. Sets the sequence number to be the maximum value matching the prefix in the database plus one. Note that calling this method increments the maximum value in the database. #### Since 1.0
`public string` | # `getHelper( )` Getter for the validation helper string Getter for the validation helper string #### Returns `string` #### Since 1.0 #### Implementation of `AlphaTypeInterface::getHelper()`
`public` | # `setHelper( string $helper )` Set the validation helper text Set the validation helper text #### Parameters $helper `string` $helper #### Since 1.0 #### Implementation of `AlphaTypeInterface::setHelper()`
`public string` | # `getValue( )` Used to get the Sequence value as a string Used to get the Sequence value as a string #### Returns `string` #### Since 1.0 #### Implementation of `AlphaTypeInterface::getValue()`
`public` | # `setValue( string $val )` Accepts a string to set the Sequence prefix/sequence values to, in the format PREFIX-00000000000 Accepts a string to set the Sequence prefix/sequence values to, in the format PREFIX-00000000000 #### Parameters $val `string` $val #### Throws ``IllegalArguementException`` #### Since 1.0 #### Implementation of `AlphaTypeInterface::setValue()`
`public integer` | # `getSize( )` Get the allowable size of the Sequence in the database field Get the allowable size of the Sequence in the database field #### Returns `integer` #### Since 1.0
`public string` | # `__toString( )` Used to convert the object to a printable string Used to convert the object to a printable string #### Returns `string` #### Since 1.0 #### Implementation of `AlphaTypeInterface::__toString()`

Methods inherited from AlphaDAO
`__wakeup(), addProperty(), addToCache(), begin(), cast(), checkBOTableExists(), checkClassDefExists(), checkRecordExists(), checkTableExists(), checkTableNeedsUpdate(), commit(), createForeignIndex(), createUniqueIndex(), delete(), deleteAllByAttribute(), disconnect(), dropTable(), findMissingFields(), get(), getBOClassNames(), getConnection(), getCount(), getCreateTS(), getCreatorId(), getDataLabel(), getDataLabels(), getDefaultAttributes(), getFriendlyClassName(), getHistoryCount(), getID(), getIndexes(), getLastQuery(), getMAX(), getMaintainHistory(), getOID(), getPersistentAttributes(), getPropObject(), getTableName(), getTransientAttributes(), getUniqueAttributes(), getUpdateTS(), getUpdatorId(), getVersion(), getVersionNumber(), hasAttribute(), isInstalled(), isTableOverloaded(), isTagged(), isTransient(), load(), loadAll(), loadAllByAttribute(), loadAllByAttributes(), loadAllByDayUpdated(), loadAllFieldValuesByAttribute(), loadByAttribute(), loadClassDef(), loadFromCache(), makeHistoryTable(), makeTable(), markPersistent(), markTransient(), markUnique(), populateFromPost(), query(), rebuildTable(), reload(), removeFromCache(), rollback(), save(), saveAttribute(), saveHistory(), set(), setDataLabels(), setEnumOptions(), setLastQuery(), setMaintainHistory(), setOID(), validate()`

Constants summary
`string` | `TABLE_NAME` | `'Sequence'` | # The name of the database table for the class The name of the database table for the class #### Since 1.0
`integer` | `MAX_SIZE` | `255` | # The absolute maximum size of the value for the this Sequence The absolute maximum size of the value for the this Sequence #### Since 1.0

Properties summary
`protected `String`` | $prefix | `` | # The string prefix (must be capital alphabet characters only) The string prefix (must be capital alphabet characters only) #### Since 1.0
`protected `Integer`` | $sequence | `` | # The integer sequence number incremented for each Sequence value with this prefix The integer sequence number incremented for each Sequence value with this prefix #### Since 1.0
`protected array` | $dataLabels | `array("OID"=>"Sequence ID#","prefix"=>"Sequence prefix","sequence"=>"Sequence number")` | # An array of data display labels for the class properties An array of data display labels for the class properties #### Since 1.0
`protected string` | $helper | `'Not a valid sequence value!'` | # The message to display to the user when validation fails The message to display to the user when validation fails #### Since 1.0
`protected integer` | $size | `255` | # The size of the value for the this Sequence The size of the value for the this Sequence #### Since 1.0
`protected string` | $validationRule | `` | # The validation rule for the Sequence type The validation rule for the Sequence type #### Since 1.0

Properties inherited from AlphaDAO
`$OID, $created_by, $created_ts, $defaultAttributes, $lastQuery, $transientAttributes, $uniqueAttributes, $updated_by, $updated_ts, $version_num`