Hadoop-Inline-ClassLoader
view release on metacpan or search on metacpan
lib/Hadoop/Inline/ClassLoader.pm view on Meta::CPAN
}
sub _map_java_imports_to_short_names {
my $class = shift;
# Give somewhat meaningful names to the imported Java classes
state $package_delimiter = PACKAGE_DELIMITER;
my $base_ns = 'org::apache::hadoop::';
my $filter = do {
my @rv = split m{ $package_delimiter }xms, $base_ns;
pop @rv;
join PACKAGE_DELIMITER, @rv;
};
my @ns = $class->_namespace_probe( $base_ns );
shift @ns;
@ns = grep { m{ $package_delimiter \z }xms } @ns;
no strict qw( refs );
foreach my $class ( @ns ) {
(my $short_name = $class) =~ s{
\Q$filter\E
$package_delimiter
}{}xms;
$short_name = join PACKAGE_DELIMITER,
map { ucfirst $_ } split m{ $package_delimiter }xms,
$short_name
;
# import() was called multiple times?
next if %{ $short_name . PACKAGE_DELIMITER };
printf STDERR 'Mapping %s => %s', $short_name, $class if DEBUG;
*{ $short_name . PACKAGE_DELIMITER } = \*{ $class };
}
( run in 2.918 seconds using v1.01-cache-2.11-cpan-71847e10f99 )