class EasyRdf_Serialiser

Parent class for the EasyRdf serialiser

@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_Serialiser

File

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

View source
class EasyRdf_Serialiser {
  protected $prefixes = array();

  /**
   * Keep track of the prefixes used while serialising
   * @ignore
   */
  protected function addPrefix($qname) {
    list($prefix) = explode(':', $qname);
    $this->prefixes[$prefix] = true;
  }

  /**
   * Check and cleanup parameters passed to serialise() method
   * @ignore
   */
  protected function checkSerialiseParams(&$graph, &$format) {
    if ($graph == null or !is_object($graph) or get_class($graph) != 'EasyRdf_Graph') {
      throw new InvalidArgumentException("\$graph should be an EasyRdf_Graph object and cannot be null");
    }
    if ($format == null or $format == '') {
      throw new InvalidArgumentException("\$format cannot be null or empty");
    }
    elseif (is_object($format) and get_class($format) == 'EasyRdf_Format') {
      $format = $format
        ->getName();
    }
    elseif (!is_string($format)) {
      throw new InvalidArgumentException("\$format should be a string or an EasyRdf_Format object");
    }
  }

  /**
   * Protected method to get the number of reverse properties for a resource
   * If a resource only has a single property, the number of values for that
   * property is returned instead.
   * @ignore
   */
  protected function reversePropertyCount($resource) {
    $properties = $resource
      ->reversePropertyUris();
    $count = count($properties);
    if ($count == 1) {
      $property = $properties[0];
      return $resource
        ->count("^<{$property}>");
    }
    else {
      return $count;
    }
  }

  /**
   * Sub-classes must follow this protocol
   * @ignore
   */
  public function serialise($graph, $format) {
    throw new EasyRdf_Exception("This method should be overridden by sub-classes.");
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EasyRdf_Serialiser::$prefixes protected property
EasyRdf_Serialiser::addPrefix protected function Keep track of the prefixes used while serialising @ignore
EasyRdf_Serialiser::checkSerialiseParams protected function Check and cleanup parameters passed to serialise() method @ignore
EasyRdf_Serialiser::reversePropertyCount protected function Protected method to get the number of reverse properties for a resource If a resource only has a single property, the number of values for that property is returned instead. @ignore
EasyRdf_Serialiser::serialise public function Sub-classes must follow this protocol @ignore 5