class EasyRdf_TypeMapper

Class to map between RDF Types and PHP Classes

@package EasyRdf @copyright Copyright (c) 2009-2010 Nicholas J Humfrey @license http://www.opensource.org/licenses/bsd-license.php

Hierarchy

Expanded class hierarchy of EasyRdf_TypeMapper

File

drupal/core/vendor/easyrdf/easyrdf/lib/EasyRdf/TypeMapper.php, line 46

View source
class EasyRdf_TypeMapper {

  /** The type map registry */
  private static $map = array();

  /** Get the registered class for an RDF type
   *
   * If a type is not registered, then this method will return null.
   *
   * @param  string  $type   The RDF type (e.g. foaf:Person)
   * @return string          The class name (e.g. Model_Foaf_Name)
   */
  public static function get($type) {
    if (!is_string($type) or $type == null or $type == '') {
      throw new InvalidArgumentException("\$type should be a string and cannot be null or empty");
    }
    $type = EasyRdf_Namespace::expand($type);
    if (array_key_exists($type, self::$map)) {
      return self::$map[$type];
    }
    else {
      return null;
    }
  }

  /** Register an RDF type with a PHP Class name
   *
   * @param  string  $type   The RDF type (e.g. foaf:Person)
   * @param  string  $class  The PHP class name (e.g. Model_Foaf_Name)
   * @return string          The PHP class name
   */
  public static function set($type, $class) {
    if (!is_string($type) or $type == null or $type == '') {
      throw new InvalidArgumentException("\$type should be a string and cannot be null or empty");
    }
    if (!is_string($class) or $class == null or $class == '') {
      throw new InvalidArgumentException("\$class should be a string and cannot be null or empty");
    }
    $type = EasyRdf_Namespace::expand($type);
    return self::$map[$type] = $class;
  }

  /**
   * Delete an existing RDF type mapping.
   *
   * @param  string  $type   The RDF type (e.g. foaf:Person)
   */
  public static function delete($type) {
    if (!is_string($type) or $type == null or $type == '') {
      throw new InvalidArgumentException("\$type should be a string and cannot be null or empty");
    }
    $type = EasyRdf_Namespace::expand($type);
    if (isset(self::$map[$type])) {
      unset(self::$map[$type]);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EasyRdf_TypeMapper::$map private static property The type map registry
EasyRdf_TypeMapper::delete public static function Delete an existing RDF type mapping.
EasyRdf_TypeMapper::get public static function Get the registered class for an RDF type
EasyRdf_TypeMapper::set public static function Register an RDF type with a PHP Class name