NAME

Data::Semantic::URI::ftp - semantics for FTP URIs

SYNOPSIS

my $obj = Data::Semantic::URI::ftp->new;
if ($obj->is_well_formed($value)) { ... }

DESCRIPTION

This class can tell whether a value is an FTP URI, as defined by RFCs 1738 and 2396. The valid() method will respect the type and password attributes and the inherited keep boolean attribute.

See Regexp::Common::URI::ftp for the meaning of type and password.

If keep is set, kept() will return a hash with the following keys/value pairs:

URI

The complete URI.

scheme

The scheme.

username

The userinfo, or if password is used, the username.

password

If password is used, the password, else "undef".

host

The hostname or IP address.

port

The port number

abspath_full

The full path and type specification, including the leading slash.

abspath_full_no_slash

The full path and type specification, without the leading slash.

abspath_full_no_slash_no_query

The full path, without the type specification nor the leading slash.

type

The value of the type specification.

Data::Semantic::URI::ftp inherits from Data::Semantic::URI.

The superclass Data::Semantic::RegexpAdapter defines these methods and functions:

LOAD(), clear_keep(), clear_kept(), clear_re(), delete_kept(),
exists_kept(), init(), is_valid_normalized_value(), keep(),
keep_clear(), keep_set(), kept(), kept_clear(), kept_delete(),
kept_exists(), kept_keys(), kept_values(), keys_kept(), re(),
re_clear(), set_keep(), values_kept()

The superclass Data::Semantic defines these methods and functions:

new(), is_valid(), normalize()

The superclass Class::Accessor::Complex defines these methods and functions:

carp(), cluck(), croak(), flatten(), mk_abstract_accessors(),
mk_array_accessors(), mk_boolean_accessors(),
mk_class_array_accessors(), mk_class_hash_accessors(),
mk_class_scalar_accessors(), mk_concat_accessors(),
mk_forward_accessors(), mk_hash_accessors(), mk_integer_accessors(),
mk_new(), mk_object_accessors(), mk_scalar_accessors(),
mk_set_accessors(), mk_singleton()

The superclass Class::Accessor defines these methods and functions:

_carp(), _croak(), _mk_accessors(), accessor_name_for(),
best_practice_accessor_name_for(), best_practice_mutator_name_for(),
follow_best_practice(), get(), make_accessor(), make_ro_accessor(),
make_wo_accessor(), mk_accessors(), mk_ro_accessors(),
mk_wo_accessors(), mutator_name_for(), set()

The superclass Class::Accessor::Installer defines these methods and functions:

install_accessor(), subname()

The superclass Data::Inherited defines these methods and functions:

every_hash(), every_list(), flush_every_cache_by_key()

METHODS

clear_password
$obj->clear_password;

Clears the boolean value by setting it to 0.

clear_type
$obj->clear_type;

Clears the value.

password
$obj->password($value);
my $value = $obj->password;

If called without an argument, returns the boolean value (0 or 1). If called with an argument, it normalizes it to the boolean value. That is, the values 0, undef and the empty string become 0; everything else becomes 1.

password_clear
$obj->password_clear;

Clears the boolean value by setting it to 0.

password_set
$obj->password_set;

Sets the boolean value to 1.

set_password
$obj->set_password;

Sets the boolean value to 1.

type
my $value = $obj->type;
$obj->type($value);

A basic getter/setter method. If called without an argument, it returns the value. If called with a single argument, it sets the value.

type_clear
$obj->type_clear;

Clears the value.

TAGS

If you talk about this module in blogs, on del.icio.us or anywhere else, please use the datasemanticuri tag.

VERSION

This document describes version 0.01 of Data::Semantic::URI::ftp.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests to <bug-data-semantic-uri@rt.cpan.org>, or through the web interface at http://rt.cpan.org.

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

AVAILABILITY

The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.

AUTHOR

Marcel Grünauer, <marcel@cpan.org>

COPYRIGHT AND LICENSE

Copyright 2007 by Marcel Grünauer

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Regexp::Common::URI::ftp