package AsposePdfCloud::Object::Stamp;

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

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

my $swagger_types = {
    'Type' => 'StampType',
    'Background' => 'boolean',
    'BottomMargin' => 'double',
    'HorizontalAlignment' => 'HorizontalAlignment',
    'LeftMargin' => 'double',
    'Opacity' => 'double',
    'RightMargin' => 'double',
    'Rotate' => 'Rotation',
    'RotateAngle' => 'double',
    'TopMargin' => 'double',
    'VerticalAlignment' => 'VerticalAlignment',
    'XIndent' => 'double',
    'YIndent' => 'double',
    'Zoom' => 'double',
    'TextAlignment' => 'HorizontalAlignment',
    'Value' => 'string',
    'TextState' => 'TextState',
    'FileName' => 'string',
    'Width' => 'double',
    'Height' => 'double',
    'PageIndex' => 'int',
    'StartingNumber' => 'int'
};

my $attribute_map = {
    'Type' => 'Type',
    'Background' => 'Background',
    'BottomMargin' => 'BottomMargin',
    'HorizontalAlignment' => 'HorizontalAlignment',
    'LeftMargin' => 'LeftMargin',
    'Opacity' => 'Opacity',
    'RightMargin' => 'RightMargin',
    'Rotate' => 'Rotate',
    'RotateAngle' => 'RotateAngle',
    'TopMargin' => 'TopMargin',
    'VerticalAlignment' => 'VerticalAlignment',
    'XIndent' => 'XIndent',
    'YIndent' => 'YIndent',
    'Zoom' => 'Zoom',
    'TextAlignment' => 'TextAlignment',
    'Value' => 'Value',
    'TextState' => 'TextState',
    'FileName' => 'FileName',
    'Width' => 'Width',
    'Height' => 'Height',
    'PageIndex' => 'PageIndex',
    'StartingNumber' => 'StartingNumber'
};

# new object
sub new { 
    my ($class, %args) = @_; 
    my $self = { 
        #
        'Type' => $args{'Type'}, 
        #
        'Background' => $args{'Background'}, 
        #
        'BottomMargin' => $args{'BottomMargin'}, 
        #
        'HorizontalAlignment' => $args{'HorizontalAlignment'}, 
        #
        'LeftMargin' => $args{'LeftMargin'}, 
        #
        'Opacity' => $args{'Opacity'}, 
        #
        'RightMargin' => $args{'RightMargin'}, 
        #
        'Rotate' => $args{'Rotate'}, 
        #
        'RotateAngle' => $args{'RotateAngle'}, 
        #
        'TopMargin' => $args{'TopMargin'}, 
        #
        'VerticalAlignment' => $args{'VerticalAlignment'}, 
        #
        'XIndent' => $args{'XIndent'}, 
        #
        'YIndent' => $args{'YIndent'}, 
        #
        'Zoom' => $args{'Zoom'}, 
        #
        'TextAlignment' => $args{'TextAlignment'}, 
        #
        'Value' => $args{'Value'}, 
        #
        'TextState' => $args{'TextState'}, 
        #
        'FileName' => $args{'FileName'}, 
        #
        'Width' => $args{'Width'}, 
        #
        'Height' => $args{'Height'}, 
        #
        'PageIndex' => $args{'PageIndex'}, 
        #
        'StartingNumber' => $args{'StartingNumber'}
    }; 

    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;
