User::Identity::System(3p)

NAME
User::Identity::System - physical system of a person

INHERITANCE
 User::Identity::System
   is a User::Identity::Item

SYNOPSIS
  use User::Identity;
  use User::Identity::System;
  my $me   = User::Identity->new(...);
  my $server = User::Identity::System->new(...);
  $me->add(system => $server);

  # Simpler

  use User::Identity;
  my $me   = User::Identity->new(...);
  my $addr = $me->add(system => ...);

DESCRIPTION
The "User::Identity::System" object contains the description of the user's presence on a system. The systems are collected by an User::Identity::Collection::Systems object.

Nearly all methods can return "undef".

Extends "DESCRIPTION" in User::Identity::Item.

METHODS
Extends "METHODS" in User::Identity::Item.

  Constructors
Extends "Constructors" in User::Identity::Item.

$class->new( [$name], %options )
    Create a new system. You can specify a name as first argument, or in the OPTION list. Without a specific name, the organization is used as name.

     -Option     --Defined in          --Default
      description  User::Identity::Item  undef
      hostname                           'localhost'
      location                           undef
      name         User::Identity::Item  <required>
      os                                 undef
      parent       User::Identity::Item  undef
      password                           undef
      username                           undef

    description => STRING
    hostname => DOMAIN
        The hostname of the described system. It is preferred to use full system names, not abbreviations. For instance, you can better use "www.tux.aq" than "www" to avoid confusion.

    location => NICKNAME|OBJECT
        The NICKNAME of a location which is defined for the same user. You can also specify a User::Identity::Location OBJECT.

    name => STRING
    os => STRING
        The name of the operating system which is run on the server. It is advised to use the names as used by Perl's $^O variable. See the perlvar man-page for this variable, and perlport for the possible values.

    parent => OBJECT
    password => STRING
        The password to be used to login. This password must be un-encoded: directly usable. Be warned that storing un-encoded passwords is a high security list.

    username => STRING
        The username to be used to login to this host.

  Attributes
Extends "Attributes" in User::Identity::Item.

$obj->description()
    Inherited, see "Attributes" in User::Identity::Item

$obj->hostname()

$obj->location()
    Returns the object which describes to which location this system relates. The location may be used to find the name of the organization involved, or to create a signature. If no location is specified, "undef" is returned.

$obj->name( [$newname] )
    Inherited, see "Attributes" in User::Identity::Item

$obj->os()

$obj->password()

$obj->username()

  Collections
Extends "Collections" in User::Identity::Item.

$obj->add($collection, $role)
    Inherited, see "Collections" in User::Identity::Item

$obj->addCollection( $object | <[$type], %options> )
    Inherited, see "Collections" in User::Identity::Item

$obj->collection($name)
    Inherited, see "Collections" in User::Identity::Item

$obj->parent( [$parent] )
    Inherited, see "Collections" in User::Identity::Item

$obj->removeCollection($object|$name)
    Inherited, see "Collections" in User::Identity::Item

$any->type()
    Inherited, see "Collections" in User::Identity::Item

$obj->user()
    Inherited, see "Collections" in User::Identity::Item

  Searching
Extends "Searching" in User::Identity::Item.

$obj->find($collection, $role)
    Inherited, see "Searching" in User::Identity::Item

DIAGNOSTICS

Error: $object is not a collection.
    The first argument is an object, but not of a class which extends User::Identity::Collection. Cast by addCollection()

Error: Cannot load collection module for $type ($class).
    Either the specified $type does not exist, or that module named $class returns compilation errors. If the type as specified in the warning is not the name of a package, you specified a nickname which was not defined. Maybe you forgot the 'require' the package which defines the nickname. Cast by addCollection()

Error: Creation of a collection via $class failed.
    The $class did compile, but it was not possible to create an object of that class using the options you specified. Cast by addCollection()

Error: Don't know what type of collection you want to add.
    If you add a collection, it must either by a collection object or a list of options which can be used to create a collection object. In the latter case, the type of collection must be specified. Cast by addCollection()

Warning: No collection $name
    The collection with $name does not exist and can not be created. Cast by add()

SEE ALSO
This module is part of User-Identity version 1.03, built on September 12, 2025. Website: http://perl.overmeer.net/CPAN/

LICENSE
For contributors see file ChangeLog.

This software is copyright (c) 2003-2025 by Mark Overmeer.

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