Example #1
0
 /**
  * Reads the specified collection.
  *
  * @param Collection|SourceDescription|null $collection
  * @param StateTransitionOption $options,...
  * @return CollectionState|null The collection that contains these collections.
  */
 public function readCollection($collection, StateTransitionOption $options = null)
 {
     $link = null;
     if ($collection === null) {
         $link = $this->getLink(Rel::COLLECTION);
         if ($link == null || $link->getHref() == null) {
             return null;
         }
         $link = $link->getHref();
     } else {
         if ($collection instanceof Collection) {
             $link = $collection->getLink("self");
             if ($link == null || $link->getHref() == null) {
                 return null;
             }
             $link = $link->getHref();
         } else {
             if ($collection instanceof SourceDescription) {
                 $link = $collection->getAbout();
                 if (!$link) {
                     return null;
                 }
             }
         }
     }
     $request = $this->createAuthenticatedGedcomxRequest("GET", $link);
     return $this->stateFactory->createState("CollectionState", $this->client, $request, $this->passOptionsTo('invoke', array($request), func_get_args()), $this->accessToken);
 }