Overview

Packages

  • alpha::controller
  • alpha::controller::front
  • alpha::exceptions
  • alpha::model
  • alpha::model::types
  • alpha::tasks
  • alpha::tests
  • alpha::util
  • alpha::util::cache
  • alpha::util::codehighlight
  • alpha::util::convertors
  • alpha::util::feeds
  • alpha::util::filters
  • alpha::util::graphs
  • alpha::util::helpers
  • alpha::util::metrics
  • alpha::view
  • alpha::view::renderers
  • alpha::view::widgets

Classes

  • AlphaType
  • Boolean
  • Date
  • DEnum
  • DEnumItem
  • Double
  • Enum
  • Integer
  • Relation
  • RelationLookup
  • Sequence
  • String
  • Text
  • Timestamp

Interfaces

  • AlphaTypeInterface
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated

Class Relation

The Relation complex data type

AlphaType
Extended by Relation 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: Relation.inc 1607 2012-12-17 11:26:17Z alphadevx $
Since: 1.0
Located at model/types/Relation.inc
Methods summary
public
# __construct( )

Constructor

Constructor

Since

1.0
public
# setRelatedClass( string $RC, string $side = '' )

Set the name of the business object class that this class is related to

Set the name of the business object class that this class is related to

Parameters

$RC
string
$RC
$side
string
$side Only required for MANY-TO-MANY relations

Throws

IllegalArguementException

Since

1.0
public string
# getRelatedClass( string $side = '' )

Get the name of the business object class that this class is related to

Get the name of the business object class that this class is related to

Parameters

$side
string
$RC

Returns

string

Throws

IllegalArguementException

Since

1.0
public
# setRelatedClassField( string $RCF )

Setter for the field of the related class

Setter for the field of the related class

Parameters

$RCF
string
$RCF

Throws

IllegalArguementException
AlphaException

Since

1.0
public string
# getRelatedClassField( )

Getter for the field of the related class

Getter for the field of the related class

Returns

string

Since

1.0
public
# setRelatedClassHeaderFields( array $fieldNames )

Setter for ONE-TO-MANY relations, which sets the header fields to render from the related class

Setter for ONE-TO-MANY relations, which sets the header fields to render from the related class

Parameters

$fieldNames
array
$fieldNames

Since

1.0
public array
# getRelatedClassHeaderFields( )

Getter for the selection widget field headings of the related class

Getter for the selection widget field headings of the related class

Returns

array

Since

1.0
public
# setRelatedClassDisplayField( string $RCDF, string $side = '' )

Setter for the display field from the related class

Setter for the display field from the related class

Parameters

$RCDF
string
$RCDF
$side
string
$side Only required for MANY-TO-MANY relations

Throws

IllegalArguementException

Since

1.0
public string
# getRelatedClassDisplayField( string $side = '' )

Getter for the display field from the related class

Getter for the display field from the related class

Parameters

$side
string
$side Only required for MANY-TO-MANY relations

Returns

string

Throws

IllegalArguementException

Since

1.0
public
# setRelationType( string $RT )

Setter for the relation type

Setter for the relation type

Parameters

$RT
string
$RT

Throws

IllegalArguementException
FailedLookupCreateException
IllegalArguementException

Since

1.0
public string
# getRelationType( )

Getter for the relation type

Getter for the relation type

Returns

string

Since

1.0
public
# setValue( integer $val )

Setter for the value (OID of related object) of this relation

Setter for the value (OID of related object) of this relation

Parameters

$val
integer
$val

Throws

IllegalArguementException

Since

1.0

Implementation of

AlphaTypeInterface::setValue()
public mixed
# getValue( )

Getter for the Relation value

Getter for the Relation value

Returns

mixed

Since

1.0

Implementation of

AlphaTypeInterface::getValue()
public string
# getRule( )

Get the validation rule

Get the validation rule

Returns

string

Since

1.0
public
# setRule( string $rule )

Setter to override the default validation rule

Setter to override the default validation rule

Parameters

$rule
string
$rule

Since

1.0
public string
# getRelatedClassDisplayFieldValue( string $accessingClassName = '' )

Getter for the display value of the related class field. In the case of a MANY-TO-MANY Relation, a comma-seperated sorted list of values is returned.

Getter for the display value of the related class field. In the case of a MANY-TO-MANY Relation, a comma-seperated sorted list of values is returned.

Parameters

$accessingClassName
string
$accessingClassName Used to indicate the reading side when accessing from MANY-TO-MANY relation (leave blank for other relation types)

Returns

string

Throws

IllegalArguementException
AlphaException

Since

1.0
public array
# getRelatedObjects( mixed $accessingClassName = '' )

For one-to-many and many-to-many relations, get the objects on the other side

For one-to-many and many-to-many relations, get the objects on the other side

string $accessingClassName Used to indicate the reading side when accessing from MANY-TO-MANY relation (leave blank for other relation types)

Returns

array

Throws

IllegalArguementException
AlphaException

Since

1.0
public array
# getRelatedObject( )

For one-to-one relations, get the object on the other side

For one-to-one relations, get the object on the other side

Returns

array

Throws

AlphaException

Since

1.0
public integer
# getSize( )

Get the allowable size of the Relation in the database field

Get the allowable size of the Relation in the database field

Returns

integer

Since

1.0
public RelationLookup
# getLookup( )

Get the lookup object if available (only on MANY-TO-MANY relations, null otherwise)

Get the lookup object if available (only on MANY-TO-MANY relations, null otherwise)

Returns

RelationLookup

Since

1.0
public string
# getSide( string $BOClassname )

Gets the side ('left' or 'right') of the passed classname on the current Relation object

Gets the side ('left' or 'right') of the passed classname on the current Relation object

Parameters

$BOClassname
string
$BOClassname

Returns

string

Throws

IllegalArguementException

Since

1.0
public
# setTaggedClass( mixed $taggedClass )

Set the taggedClass property to the name of the tagged class when building relations to the TagObject BO.

Set the taggedClass property to the name of the tagged class when building relations to the TagObject BO.

Parameters

$taggedClass
mixed
$taggedClass

Since

1.0
Methods inherited from AlphaType
__toString(), getHelper(), setHelper()
Constants summary
integer MAX_SIZE 11
#

The absolute maximum size of the value for the this Relation

The absolute maximum size of the value for the this Relation

Since

1.0
Properties summary
private string $relatedClass
#

The name of the business object class which this class is related to

The name of the business object class which this class is related to

Since

1.0
private string $relatedClassField
#

The name of the fields of the business object class by which this class is related by

The name of the fields of the business object class by which this class is related by

Since

1.0
private string $relatedClassDisplayField
#

The name of the field from the related business object class which is displayed by the selection widget

The name of the field from the related business object class which is displayed by the selection widget

Since

1.0
private array $relatedClassHeaderFields array()
#

An array of fields to use the values of while rendering related display values via the selection widget

An array of fields to use the values of while rendering related display values via the selection widget

Since

1.0
private string $relatedClassLeft
#

The name of the business object class on the left of a MANY-TO-MANY relation

The name of the business object class on the left of a MANY-TO-MANY relation

Since

1.0
private string $relatedClassLeftDisplayField
#

The name of the field from the related business object class on the left of a MANY-TO-MANY relation which is displayed by the selection widget

The name of the field from the related business object class on the left of a MANY-TO-MANY relation which is displayed by the selection widget

Since

1.0
private string $relatedClassRight
#

The name of the business object class on the right of a MANY-TO-MANY relation

The name of the business object class on the right of a MANY-TO-MANY relation

Since

1.0
private string $relatedClassRightDisplayField
#

The name of the field from the related business object class on the right of a MANY-TO-MANY relation which is displayed by the selection widget

The name of the field from the related business object class on the right of a MANY-TO-MANY relation which is displayed by the selection widget

Since

1.0
private string $relationType
#

The type of relation ('MANY-TO-ONE' or 'ONE-TO-MANY' or 'ONE-TO-ONE' or 'MANY-TO-MANY')

The type of relation ('MANY-TO-ONE' or 'ONE-TO-MANY' or 'ONE-TO-ONE' or 'MANY-TO-MANY')

Since

1.0
private RelationLookup $lookup
#

In the case of MANY-TO-MANY relationship, a lookup object will be required

In the case of MANY-TO-MANY relationship, a lookup object will be required

Since

1.0
private string $taggedClass
#

When building a relation with the TagObject BO, set this to the name of the tagged class

When building a relation with the TagObject BO, set this to the name of the tagged class

Since

1.0
private array $allowableRelationTypes array('MANY-TO-ONE','ONE-TO-MANY','ONE-TO-ONE','MANY-TO-MANY')
#

An array of the allowable relationship types ('MANY-TO-ONE' or 'ONE-TO-MANY' or 'ONE-TO-ONE' or 'MANY-TO-MANY')

An array of the allowable relationship types ('MANY-TO-ONE' or 'ONE-TO-MANY' or 'ONE-TO-ONE' or 'MANY-TO-MANY')

Since

1.0
private mixed $value NULL
#

The object ID (OID) value of the related object. In the special case of a MANY-TO-MANY relation, contains the OID of the object on the current, accessing side. Can contain NULL.

The object ID (OID) value of the related object. In the special case of a MANY-TO-MANY relation, contains the OID of the object on the current, accessing side. Can contain NULL.

Since

1.0
private string $validationRule
#

The validation rule for the Relation type

The validation rule for the Relation type

Since

1.0
protected string $helper
#

The error message for the Relation type when validation fails

The error message for the Relation type when validation fails

Since

1.0
private integer $size 11
#

The size of the value for the this Relation

The size of the value for the this Relation

Since

1.0
Alpha Framework ${alpha.version.new} API Documentation API documentation generated by ApiGen 2.8.0