📄 properties.pm
字号:
use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_lddlflags'); $self->description('inline: LDDLFLAGS'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlineMake; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_make'); $self->description('inline: MAKE'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlineCleanAfterBuild; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_clean_after_build'); $self->description('inline: CLEAN_AFTER_BUILD'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlineCleanBuildArea; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_clean_build_area'); $self->description('inline: CLEAN_BUILD_AREA'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlineBuildNoisy; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_build_noisy'); $self->description('inline: BUILD_NOISY'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlineBuildTimers; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_build_timers'); $self->description('inline: BUILD_TIMERS'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlineForceBuild; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_force_build'); $self->description('inline: FORCE_BUILD'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlinePrintInfo; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_print_info'); $self->description('inline: PRINT_INFO'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::InlineDirectory; use base qw(ETL::Pequel3::Type::Properties::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; $self->name('inline_directory'); $self->description('inline: DIRECTORY'); $self->global(0); $self->user_program_info(0); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::Catalogue::Abstract; use base qw(ETL::Pequel3::Type::Catalogue); use Class::STL::ClassMembers Class::STL::ClassMembers::DataMember->new(name => 'catalogue_name', default => 'properties'), Class::STL::ClassMembers::DataMember->new(name => 'target_mem_name', default => 'name'), Class::STL::ClassMembers::DataMember->new(name => 'element_type', default => 'ETL::Pequel3::Type::Properties::Abstract'); use Class::STL::ClassMembers::Constructor; use stl; use vars qw( $AUTOLOAD ); sub AUTOLOAD { my $self = shift; (my $prop = $AUTOLOAD) =~ s/.*:://; my $p; $self->err()->user_error(10601, "Unknown property name '$prop'!") unless ($p = $self->exists($prop)); return $p->value(@_); } sub DESTROY { }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties; #--> ::Catalogue use base qw(ETL::Pequel3::Type::Properties::Catalogue::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::SingletonConstructor; sub new_extra { my $self = shift; $self->push_back( ETL::Pequel3::Type::Properties::PequelHomePage->new(), ETL::Pequel3::Type::Properties::Version->new(), ETL::Pequel3::Type::Properties::Hash->new(), ETL::Pequel3::Type::Properties::TabSize->new(), ETL::Pequel3::Type::Properties::TabType->new(), ETL::Pequel3::Type::Properties::DividerChar->new(), ETL::Pequel3::Type::Properties::DividerLength->new(), ETL::Pequel3::Type::Properties::ShowSynonyms->new(), ETL::Pequel3::Type::Properties::DeclMinPadSize->new(), ETL::Pequel3::Type::Properties::Statistics->new(), ETL::Pequel3::Type::Properties::Prefix->new(), ETL::Pequel3::Type::Properties::XmlParser->new(), ETL::Pequel3::Type::Properties::XmlSchema->new(), ETL::Pequel3::Type::Properties::XmlSchemaAnnotation->new(), ETL::Pequel3::Type::Properties::XmlSchemaNSPrefix->new(), ETL::Pequel3::Type::Properties::Transfer->new(), ETL::Pequel3::Type::Properties::Verbose->new(), ETL::Pequel3::Type::Properties::Silent->new(), ETL::Pequel3::Type::Properties::Optimise->new(), ETL::Pequel3::Type::Properties::BenchmarkOn->new(), ETL::Pequel3::Type::Properties::InputRecordLimit->new(), #TODO -->dataset attribute ETL::Pequel3::Type::Properties::DefaultDateType->new(), ETL::Pequel3::Type::Properties::DefaultListDelimiter->new(), ETL::Pequel3::Type::Properties::DefaultDecimalPlaces->new(), ETL::Pequel3::Type::Properties::DataSetSpec->new(), ETL::Pequel3::Type::Properties::PequelType->new(), ETL::Pequel3::Type::Properties::TableType->new(), ETL::Pequel3::Type::Properties::DateType->new(), ETL::Pequel3::Type::Properties::AggregateType->new(), ETL::Pequel3::Type::Properties::On->new(), ETL::Pequel3::Type::Properties::FieldName->new(), ETL::Pequel3::Type::Properties::SortDirection->new(), ETL::Pequel3::Type::Properties::SortCmd->new(), ETL::Pequel3::Type::Properties::SortArgs->new(), ETL::Pequel3::Type::Properties::SortTmpDir->new(), ETL::Pequel3::Type::Properties::Sorter->new(), ETL::Pequel3::Type::Properties::ScriptName->new(), ETL::Pequel3::Type::Properties::ScriptVersion->new(), ETL::Pequel3::Type::Properties::ScriptAuthor->new(), ETL::Pequel3::Type::Properties::NoNulls->new(), ETL::Pequel3::Type::Properties::RmCtrlm->new(), # remove -- dataset attribute ETL::Pequel3::Type::Properties::ExecDir->new(), ETL::Pequel3::Type::Properties::TraceDir->new(), ETL::Pequel3::Type::Properties::InlineCc->new(), #TODO: put these in inline extension catalogue ETL::Pequel3::Type::Properties::InlineLibs->new(), ETL::Pequel3::Type::Properties::InlineInc->new(), ETL::Pequel3::Type::Properties::InlineCcflags->new(), ETL::Pequel3::Type::Properties::InlineOptimize->new(), ETL::Pequel3::Type::Properties::InlineLddlflags->new(), ETL::Pequel3::Type::Properties::InlineMake->new(), ETL::Pequel3::Type::Properties::InlineCleanAfterBuild->new(), ETL::Pequel3::Type::Properties::InlineCleanBuildArea->new(), ETL::Pequel3::Type::Properties::InlineBuildNoisy->new(), ETL::Pequel3::Type::Properties::InlineBuildTimers->new(), ETL::Pequel3::Type::Properties::InlineForceBuild->new(), ETL::Pequel3::Type::Properties::InlinePrintInfo->new(), ETL::Pequel3::Type::Properties::InlineDirectory->new(), ); return $self; }}# ----------------------------------------------------------------------------------------------------{ package ETL::Pequel3::Type::Properties::User; use base qw(ETL::Pequel3::Type::Properties::Catalogue::Abstract); use Class::STL::ClassMembers; use Class::STL::ClassMembers::Constructor; sub new_extra { my $self = shift; my $catalogue = ETL::Pequel3::Type::Properties->new(); foreach (grep($_->global() == 0, $catalogue->to_array())) { $self->push_back($_->new());#>TODO: $self->push_back($_->global() ? $_ : $_->new()); # so all properties available from configuration; } return $self; }}# ----------------------------------------------------------------------------------------------------1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -