package AsposeTasksCloud::Object::TaskLink;

require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::Parse;
use DateTime;

use base "AsposeTasksCloud::Object::BaseObject";

#
#
#
#NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually.
#

my $swagger_types = {
    'Link' => 'Link',
    'Index' => 'int',
    'PredecessorUid' => 'int',
    'SuccessorUid' => 'int',
    'LinkType' => 'TaskLinkType',
    'Lag' => 'int',
    'LagFormat' => 'TimeUnitType'
};

my $attribute_map = {
    'Link' => 'Link',
    'Index' => 'Index',
    'PredecessorUid' => 'PredecessorUid',
    'SuccessorUid' => 'SuccessorUid',
    'LinkType' => 'LinkType',
    'Lag' => 'Lag',
    'LagFormat' => 'LagFormat'
};

# new object
sub new { 
    my ($class, %args) = @_; 
    my $self = { 
        #
        'Link' => $args{'Link'}, 
        #
        'Index' => $args{'Index'}, 
        #
        'PredecessorUid' => $args{'PredecessorUid'}, 
        #
        'SuccessorUid' => $args{'SuccessorUid'}, 
        #
        'LinkType' => $args{'LinkType'}, 
        #
        'Lag' => $args{'Lag'}, 
        #
        'LagFormat' => $args{'LagFormat'}
    }; 

    return bless $self, $class; 
}  

# get swagger type of the attribute
sub get_swagger_types {
    return $swagger_types;
}

# get attribute mappping
sub get_attribute_map {
    return $attribute_map;
}

1;
