📄 months.pm
字号:
# vim:ts=4 sw=4
# ----------------------------------------------------------------------------------------------------
# Name : ETL::Pequel3::Type::Months.pm
# Created : 9 May 2006
# Author : Mario Gaffiero (gaffie)
#
# Copyright 1999-2007 Mario Gaffiero.
#
# This file is part of Pequel(TM).
#
# Pequel is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# Pequel is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Pequel; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# ----------------------------------------------------------------------------------------------------
# Modification History
# When Version Who What
# ----------------------------------------------------------------------------------------------------
package ETL::Pequel3::Type::Months;
require 5.005_62;
use strict;
use warnings;
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::Abstract;
use base qw(Class::STL::Element);
use Class::STL::ClassMembers qw( name month_number );
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::January;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'january'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 1);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::February;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'february'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 2);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::March;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'march'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 3);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::April;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'april'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 4);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::May;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'may'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 5);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::June;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'june'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 6);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::July;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'july'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 7);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::August;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'august'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 8);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::September;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'september'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 9);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::October;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'october'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 10);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::November;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'november'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 11);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::December;
use base qw(ETL::Pequel3::Type::PequelTypes::Abstract);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'name', default => 'december'),
Class::STL::ClassMembers::DataMember->new(name => 'month_number', default => 12);
use Class::STL::ClassMembers::Constructor;
}
# ----------------------------------------------------------------------------------------------------
{
package ETL::Pequel3::Type::Months::Catalogue;
use base qw(ETL::Pequel3::Type::Catalogue);
use Class::STL::ClassMembers
Class::STL::ClassMembers::DataMember->new(name => 'catalogue_name', default => 'months'),
Class::STL::ClassMembers::DataMember->new(name => 'target_mem_name', default => 'name'),
Class::STL::ClassMembers::DataMember->new(name => 'element_type', default => 'ETL::Pequel3::Type::Months::Abstract');
use Class::STL::ClassMembers::SingletonConstructor;
sub new_extra
{
my $self = shift;
$self->push_back(
ETL::Pequel3::Type::Months::January->new(),
ETL::Pequel3::Type::Months::February->new(),
ETL::Pequel3::Type::Months::March->new(),
ETL::Pequel3::Type::Months::April->new(),
ETL::Pequel3::Type::Months::May->new(),
ETL::Pequel3::Type::Months::June->new(),
ETL::Pequel3::Type::Months::July->new(),
ETL::Pequel3::Type::Months::August->new(),
ETL::Pequel3::Type::Months::September->new(),
ETL::Pequel3::Type::Months::October->new(),
ETL::Pequel3::Type::Months::November->new(),
ETL::Pequel3::Type::Months::December->new(),
);
return $self;
}
}
# ----------------------------------------------------------------------------------------------------
1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -