Esempio n. 1
0
 public function toArray($includeDocumentContent = false)
 {
     return ['type' => $this->rightType->__toString(), 'source' => $this->getSource()->__toString(), 'status' => $this->getStatus(), 'titles' => $this->titles, 'application' => ['country' => $this->getApplicationCountry(), 'date' => $this->getApplicationDate(), 'number' => $this->getApplicationNumber()], 'publication' => ['country' => $this->getPublicationCountry(), 'date' => $this->getPublicationDate(), 'number' => $this->getPublicationNumber()], 'grant' => ['country' => $this->getGrantCountry(), 'date' => $this->getGrantDate(), 'number' => $this->getGrantNumber()], 'priorities' => $this->getPriorities(true), 'applicants' => $this->getApplicants(true), 'inventors' => $this->getInventors(true), 'clients' => $this->getClients(true), 'citations' => $this->getCitations(true), 'languageOfFiling' => $this->getLanguageOfFiling(), 'agents' => $this->getAgents(true), 'designatedStates' => $this->getDesignatedStates(), 'custom' => $this->getCustom(), 'documents' => $this->documents()->toArray($includeDocumentContent)];
 }
Esempio n. 2
0
 /**
  * Creates an IPRight From an associative array
  *
  * @param array $details
  *
  * @return IPRight
  */
 public static function rightFromArray(array $details)
 {
     $IPRight = new IPRight();
     $IPRight->setSource(SearchSource::fromString($details['source']));
     $IPRight->setRightType(RightType::fromString($details['type']));
     $IPRight->setLanguageOfFiling($details['languageOfFiling']);
     $IPRight->setLanguageOfFiling($details['languageOfFiling']);
     $IPRight->setDesignatedStates($details['designatedStates']);
     $IPRight->setStatus($details['status']);
     //Titles
     $IPRight->setEnglishTitle($details['titles']['english']);
     $IPRight->setFrenchTitle($details['titles']['french']);
     $IPRight->setGermanTitle($details['titles']['german']);
     //Application Details
     $IPRight->setApplicationCountry($details['application']['country']);
     $IPRight->setApplicationDate($details['application']['date']);
     $IPRight->setApplicationNumber($details['application']['number']);
     //Publication Details
     $IPRight->setPublicationCountry($details['publication']['country']);
     $IPRight->setPublicationDate($details['publication']['date']);
     $IPRight->setPublicationNumber($details['publication']['number']);
     //Grant Details
     $IPRight->setGrantCountry($details['grant']['country']);
     $IPRight->setGrantDate($details['grant']['date']);
     $IPRight->setGrantNumber($details['grant']['number']);
     if (is_array($details['priorities'])) {
         foreach ($details['priorities'] as $priorityArray) {
             $priority = Priority::fromNumber($priorityArray['number']);
             $priority->setDate($priorityArray['date']);
             $priority->setCountry($priorityArray['country']);
             $priority->setKind($priorityArray['kind']);
             $IPRight->addPriority($priority);
         }
     }
     //Applicants
     $applicantParty = new Party();
     if (isset($details['applicants']) && is_array($details['applicants'])) {
         foreach ($details['applicants'] as $applicantArray) {
             $applicantParty->addMember(self::partyMemberToObject(new Applicant(), $applicantArray));
         }
     }
     $IPRight->setApplicants($applicantParty);
     //Inventors
     $inventorParty = new Party();
     if (isset($details['inventors']) && is_array($details['inventors'])) {
         foreach ($details['inventors'] as $inventorArray) {
             $inventorParty->addMember(self::partyMemberToObject(new Inventor(), $inventorArray));
         }
     }
     $IPRight->setInventors($inventorParty);
     //Agents
     $agentParty = new Party();
     if (isset($details['agents']) && is_array($details['agents'])) {
         foreach ($details['agents'] as $agentArray) {
             $agentParty->addMember(self::partyMemberToObject(new Agent(), $agentArray));
         }
     }
     $IPRight->setAgents($agentParty);
     //Clients
     $clientParty = new Party();
     if (isset($details['clients']) && is_array($details['clients'])) {
         foreach ($details['clients'] as $clientArray) {
             $clientParty->addMember(self::partyMemberToObject(new Client(), $clientArray));
         }
     }
     $IPRight->setClients($clientParty);
     //Documents
     if (isset($details['documents']) && is_array($details['documents'])) {
         foreach ($details['documents'] as $document) {
             $doc = new Document();
             $doc->setFileName($document['filename']);
             $doc->setDescription($document['description']);
             if (isset($document['content'])) {
                 $doc->setContentFromString($document['content']);
             }
             $IPRight->documents()->add($doc);
         }
     }
     //Custom fields
     if (isset($details['custom']) && is_array($details['custom'])) {
         foreach ($details['custom'] as $name => $value) {
             $IPRight->addCustom($name, $value);
         }
     }
     //Citations
     if (isset($details['citations']) && is_array($details['citations'])) {
         foreach ($details['citations'] as $citationArray) {
             if ($citationArray['type'] == Citation::PATENT) {
                 $citation = Citation::patent($citationArray['number'], $citationArray['country'], $citationArray['cited-by'], $citationArray['date']);
             } else {
                 $citation = Citation::nonPatentLiterature($citationArray['text'], $citationArray['cited-by'], $citationArray['country'], $citationArray['date']);
             }
             $IPRight->addCitation($citation);
         }
     }
     return $IPRight;
 }