package AsposeCellsCloud::Object::Worksheet;

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 "AsposeCellsCloud::Object::BaseObject";

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

my $swagger_types = {
    'Links' => 'ARRAY[Link]',
    'DisplayRightToLeft' => 'boolean',
    'DisplayZeros' => 'boolean',
    'FirstVisibleColumn' => 'int',
    'FirstVisibleRow' => 'int',
    'Name' => 'string',
    'Index' => 'int',
    'IsGridlinesVisible' => 'boolean',
    'IsOutlineShown' => 'boolean',
    'IsPageBreakPreview' => 'boolean',
    'IsVisible' => 'boolean',
    'IsProtected' => 'boolean',
    'IsRowColumnHeadersVisible' => 'boolean',
    'IsRulerVisible' => 'boolean',
    'IsSelected' => 'boolean',
    'TabColor' => 'Color',
    'TransitionEntry' => 'boolean',
    'TransitionEvaluation' => 'boolean',
    'Type' => 'string',
    'ViewType' => 'string',
    'VisibilityType' => 'string',
    'Zoom' => 'int',
    'Cells' => 'LinkElement',
    'Charts' => 'LinkElement',
    'AutoShapes' => 'LinkElement',
    'OleObjects' => 'LinkElement',
    'Comments' => 'LinkElement',
    'Pictures' => 'LinkElement',
    'MergedCells' => 'LinkElement',
    'Validations' => 'LinkElement',
    'ConditionalFormattings' => 'LinkElement',
    'Hyperlinks' => 'LinkElement'
};

my $attribute_map = {
    'Links' => 'Links',
    'DisplayRightToLeft' => 'DisplayRightToLeft',
    'DisplayZeros' => 'DisplayZeros',
    'FirstVisibleColumn' => 'FirstVisibleColumn',
    'FirstVisibleRow' => 'FirstVisibleRow',
    'Name' => 'Name',
    'Index' => 'Index',
    'IsGridlinesVisible' => 'IsGridlinesVisible',
    'IsOutlineShown' => 'IsOutlineShown',
    'IsPageBreakPreview' => 'IsPageBreakPreview',
    'IsVisible' => 'IsVisible',
    'IsProtected' => 'IsProtected',
    'IsRowColumnHeadersVisible' => 'IsRowColumnHeadersVisible',
    'IsRulerVisible' => 'IsRulerVisible',
    'IsSelected' => 'IsSelected',
    'TabColor' => 'TabColor',
    'TransitionEntry' => 'TransitionEntry',
    'TransitionEvaluation' => 'TransitionEvaluation',
    'Type' => 'Type',
    'ViewType' => 'ViewType',
    'VisibilityType' => 'VisibilityType',
    'Zoom' => 'Zoom',
    'Cells' => 'Cells',
    'Charts' => 'Charts',
    'AutoShapes' => 'AutoShapes',
    'OleObjects' => 'OleObjects',
    'Comments' => 'Comments',
    'Pictures' => 'Pictures',
    'MergedCells' => 'MergedCells',
    'Validations' => 'Validations',
    'ConditionalFormattings' => 'ConditionalFormattings',
    'Hyperlinks' => 'Hyperlinks'
};

# new object
sub new { 
    my ($class, %args) = @_; 
    my $self = { 
        #
        'Links' => $args{'Links'}, 
        #
        'DisplayRightToLeft' => $args{'DisplayRightToLeft'}, 
        #
        'DisplayZeros' => $args{'DisplayZeros'}, 
        #
        'FirstVisibleColumn' => $args{'FirstVisibleColumn'}, 
        #
        'FirstVisibleRow' => $args{'FirstVisibleRow'}, 
        #
        'Name' => $args{'Name'}, 
        #
        'Index' => $args{'Index'}, 
        #
        'IsGridlinesVisible' => $args{'IsGridlinesVisible'}, 
        #
        'IsOutlineShown' => $args{'IsOutlineShown'}, 
        #
        'IsPageBreakPreview' => $args{'IsPageBreakPreview'}, 
        #
        'IsVisible' => $args{'IsVisible'}, 
        #
        'IsProtected' => $args{'IsProtected'}, 
        #
        'IsRowColumnHeadersVisible' => $args{'IsRowColumnHeadersVisible'}, 
        #
        'IsRulerVisible' => $args{'IsRulerVisible'}, 
        #
        'IsSelected' => $args{'IsSelected'}, 
        #
        'TabColor' => $args{'TabColor'}, 
        #
        'TransitionEntry' => $args{'TransitionEntry'}, 
        #
        'TransitionEvaluation' => $args{'TransitionEvaluation'}, 
        #
        'Type' => $args{'Type'}, 
        #
        'ViewType' => $args{'ViewType'}, 
        #
        'VisibilityType' => $args{'VisibilityType'}, 
        #
        'Zoom' => $args{'Zoom'}, 
        #
        'Cells' => $args{'Cells'}, 
        #
        'Charts' => $args{'Charts'}, 
        #
        'AutoShapes' => $args{'AutoShapes'}, 
        #
        'OleObjects' => $args{'OleObjects'}, 
        #
        'Comments' => $args{'Comments'}, 
        #
        'Pictures' => $args{'Pictures'}, 
        #
        'MergedCells' => $args{'MergedCells'}, 
        #
        'Validations' => $args{'Validations'}, 
        #
        'ConditionalFormattings' => $args{'ConditionalFormattings'}, 
        #
        'Hyperlinks' => $args{'Hyperlinks'}
    }; 

    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;
