NAME

Tangence::Meta::Property - structure representing one Tangence property

DESCRIPTION

This data structure object stores information about one Tangence class property. Once constructed, such objects are immutable.

CONSTRUCTOR

new

$property = Tangence::Meta::Property->new( %args )

Returns a new instance initialised by the given arguments.

class => Tangence::Meta::Class

Reference to the containing class

name => STRING

Name of the property

dimension => INT

Dimension of the property, as one of the DIM_* constants from Tangence::Constants.

type => STRING

The element type as a Tangence::Meta::Type reference.

smashed => BOOL

Optional. If true, marks that the property is smashed.

ACCESSORS

class

$class = $property->class

Returns the class the property is a member of

name

$name = $property->name

Returns the name of the class

dimension

$dimension = $property->dimension

Returns the dimension as one of the DIM_* constants.

type

$type = $property->type

Returns the element type as a Tangence::Meta::Type reference.

overall_type

$type = $property->overall_type

Returns the type of the entire collection as a Tangence::Meta::Type reference. For scalar types this will be the element type. For dict types this will be a hash of the array type. For array, queue and objset types this will a list of the element type.

smashed

$smashed = $property->smashed

Returns true if the property is smashed.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>