⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmdoption.pm

📁 普通的ETL工具
💻 PM
📖 第 1 页 / 共 2 页
字号:
		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'xsdgen'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 'xsd'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Produce the Pequel XML Schema XSD');	use Class::STL::ClassMembers::Constructor;	sub prep	{		my $self = shift;		my $POM = shift;		$POM->xsdgen();	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Docgen;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'docgen'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Produce the Pequel User Script Reference document pdf');	use Class::STL::ClassMembers::Constructor;	sub exec	{		my $self = shift;		my $POM = shift;		$POM->docgen();	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Catgen;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'catgen'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 'catalogue'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Produce the Pequel Type Catalogue pdf');	use Class::STL::ClassMembers::Constructor;	sub exec	{		my $self = shift;		my $POM = shift;		$POM->catgen();	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::ViewCode;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'view_code'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 'viewcode'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Display the generated program');	use Class::STL::ClassMembers::Constructor;	sub prep	{		my $self = shift;		my $POM = shift;		my $getopt = ETL::Pequel3::GetOpt->new();		$getopt->user()->push_back(ETL::Pequel3::Type::CmdOption::NoExec->new())			unless ($getopt->user()->exists('noexec'));	}	sub exec	{		my $self = shift;		my $POM = shift;		$POM->display_code();	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Silent;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'silent'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 's'),		Class::STL::ClassMembers::DataMember->new(name => 'prop_name', default => 'silent'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'user_option', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Suppress all process messages');	use Class::STL::ClassMembers::Constructor;}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Verbose;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'verbose'),		Class::STL::ClassMembers::DataMember->new(name => 'prop_name', default => 'verbose'),		Class::STL::ClassMembers::DataMember->new(name => 'default', default => ''),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 0),		Class::STL::ClassMembers::DataMember->new(name => 'user_option', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Display progress information');	use Class::STL::ClassMembers::Constructor;}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::DumpCode;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'dump_code'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 'dumpcode'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 0),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Save the generated program in external file');	use Class::STL::ClassMembers::Constructor;	sub exec	{		my $self = shift;		my $POM = shift;		$POM->dump_code($self->data());	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::DumpHash;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'dump_hash'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 0),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Save a hash dump of the Pequel-Object-Model in external file');	use Class::STL::ClassMembers::Constructor;	sub exec	{		my $self = shift;		my $POM = shift;		$POM->to_hash($self->data());	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::ScriptFilename;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'script_filename'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 'f'),		Class::STL::ClassMembers::DataMember->new(name => 'default', default => ''),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 0),		Class::STL::ClassMembers::DataMember->new(name => 'user_option', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Specify the pequel script xml or dump filename to execute');	use Class::STL::ClassMembers::Constructor;}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::NoExec;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'no_exec'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 'noexec'),		Class::STL::ClassMembers::DataMember->new(name => 'default', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 0),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Do no execute the generated program');	use Class::STL::ClassMembers::Constructor;}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Usage;	use base qw(ETL::Pequel3::Type::CmdOption::Abstract);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'long_name', default => 'usage'),		Class::STL::ClassMembers::DataMember->new(name => 'short_name', default => 'help'),		Class::STL::ClassMembers::DataMember->new(name => 'flag', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'user_option', default => 1),		Class::STL::ClassMembers::DataMember->new(name => 'description', default => 'Display pequel3 command-line usage information');	use Class::STL::ClassMembers::Constructor;	sub prep	{		my $self = shift;		my $POM = shift;		print STDERR "Pequel3 @{[ $POM->properties()->version() ]} Usage:\n";		foreach ($POM->catalogue()->options()->to_array())		{			print STDERR sprintf("%-30s -- %s",				"-@{[ $_->long_name() ]}@{[ defined($_->short_name()) ? (' | -' . $_->short_name()) : '' ]}",				"@{[ $_->description() ]}\n");		}	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Catalogue::Abstract;	use base qw(ETL::Pequel3::Type::Catalogue);	use Class::STL::ClassMembers		Class::STL::ClassMembers::DataMember->new(name => 'catalogue_name', default => 'options'),		Class::STL::ClassMembers::DataMember->new(name => 'target_mem_name', default => 'long_name|short_name'),		Class::STL::ClassMembers::DataMember->new(name => 'element_type', default => 'ETL::Pequel3::Type::CmdOption::Abstract');	use Class::STL::ClassMembers::Constructor;	use vars qw( $AUTOLOAD );	sub AUTOLOAD	{		my $self = shift;		(my $option = $AUTOLOAD) =~ s/.*:://;		my $p;		return $self->err()->user_error(10601, "Unknown option name '$option'!")			unless ($p = $self->exists($option));		return $p->data(@_);	}	sub DESTROY { }}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Catalogue;	use base qw(ETL::Pequel3::Type::CmdOption::Catalogue::Abstract);	use Class::STL::ClassMembers;	use Class::STL::ClassMembers::SingletonConstructor;	sub new_extra	{		my $self = shift;		$self->push_back(			ETL::Pequel3::Type::CmdOption::Diag->new(),			ETL::Pequel3::Type::CmdOption::DiagLevel->new(),			ETL::Pequel3::Type::CmdOption::TraceDir->new(),			ETL::Pequel3::Type::CmdOption::TraceFile->new(),			ETL::Pequel3::Type::CmdOption::Trace->new(),			ETL::Pequel3::Type::CmdOption::Usage->new(),			ETL::Pequel3::Type::CmdOption::Version->new(),			ETL::Pequel3::Type::CmdOption::Prefix->new(),			ETL::Pequel3::Type::CmdOption::DumpHash->new(),			ETL::Pequel3::Type::CmdOption::DumpCode->new(),			ETL::Pequel3::Type::CmdOption::Verbose->new(),			ETL::Pequel3::Type::CmdOption::Silent->new(),			ETL::Pequel3::Type::CmdOption::ViewCode->new(),			ETL::Pequel3::Type::CmdOption::Catgen->new(),			ETL::Pequel3::Type::CmdOption::Docgen->new(),			ETL::Pequel3::Type::CmdOption::Xsdgen->new(),			ETL::Pequel3::Type::CmdOption::Check->new(),			ETL::Pequel3::Type::CmdOption::XmlParser->new(),			ETL::Pequel3::Type::CmdOption::ExecDir->new(),			ETL::Pequel3::Type::CmdOption::ScriptFilename->new(),			ETL::Pequel3::Type::CmdOption::NoExec->new(),		);		return $self;	}}# ----------------------------------------------------------------------------------------------------{	package ETL::Pequel3::Type::CmdOption::Catalogue::User;	use base qw(ETL::Pequel3::Type::CmdOption::Catalogue::Abstract);	use Class::STL::ClassMembers;	use Class::STL::ClassMembers::Constructor;}# ----------------------------------------------------------------------------------------------------1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -