Difference between revisions of "Concept:PID/Java"

From BITPlan Wiki
Jump to navigation Jump to search
m (created by WikiTask 2017-04-18T10:15:37Z)
m (created by WikiTask 2017-04-20T06:50:56Z)
Line 95: Line 95:
 
     }
 
     }
 
   } // TopicBase
 
   } // TopicBase
 +
/**
 +
  * CANInfo
 +
  * OBD-II Diagnostic CAN Bus Information item
 +
  */
 +
  public static class CANInfo extends TopicBase {
 +
 
 +
    public String name;
 +
    public String description;
 +
 +
    public String getName() { return name; }
 +
    public void setName(String pName) { name=pName; }
 +
    public String getDescription() { return description; }
 +
    public void setDescription(String pDescription) { description=pDescription; }
 +
    /**
 +
    * convert this CANInfo to a JSON string
 +
    */
 +
    public String toJson() { return JSON.toJSONString(this); }
 +
 +
    /**
 +
    * convert this CANInfo to a WikiSon string
 +
    */
 +
    public String toWikiSon() {
 +
      String wikison= "{{CANInfo\n";
 +
      wikison+=toWikiSon("name",name);
 +
      wikison+=toWikiSon("description",description);
 +
      wikison+="}}\n";
 +
      return wikison;
 +
    }
 +
 +
    /** 
 +
    * get the pageid for this topic
 +
    */
 +
    public String getPageid() { return pageid; };
 +
 +
    /**
 +
    * default constructor for CANInfo
 +
    */
 +
    public CANInfo() {}
 +
 +
    /**
 +
    * construct a CANInfo from the given Triple
 +
    * @param query - the TripleQuery to get the triples from
 +
    * @param pCANInfoTriple - the triple to construct me from
 +
    */
 +
    public CANInfo(TripleQuery query,Triple pCANInfoTriple) {
 +
      this(query,pCANInfoTriple.getSubject().toString());
 +
    } // constructor
 +
 +
    /**
 +
    * construct a CANInfo from the given pageId
 +
    * @param query - the TripleQuery to get the triples from
 +
    * @param pageid - pageid
 +
    */
 +
    public CANInfo(TripleQuery query,String pageid) {
 +
      this.pageid=pageid;
 +
      Triple nameTriple=query.selectSingle(pageid,"name",null);
 +
      if (nameTriple==null)
 +
        nameTriple=query.selectSingle(pageid,"Property:CANInfo_name",null);
 +
      if (nameTriple!=null)
 +
        name=nameTriple.getObject().toString();
 +
      Triple descriptionTriple=query.selectSingle(pageid,"description",null);
 +
      if (descriptionTriple==null)
 +
        descriptionTriple=query.selectSingle(pageid,"Property:CANInfo_description",null);
 +
      if (descriptionTriple!=null)
 +
        description=descriptionTriple.getObject().toString();
 +
      init(query);
 +
    } // constructor for CANInfo
 +
   
 +
    // >>>{user defined topic code}{CANInfo}{CANInfo}
 +
    // <<<{user defined topic code}{CANInfo}{CANInfo}
 +
  } // class CANInfo
 +
  /**
 +
  * Manager for CANInfo
 +
  */
 +
  public static class CANInfoManager extends TopicBase {
 +
 +
    public String topicName="CANInfo";
 +
    public transient List<CANInfo> mCANInfos=new ArrayList<CANInfo>();
 +
    public transient Map<String,CANInfo> mCANInfoMap=new LinkedHashMap<String,CANInfo>();
 +
 +
    /**
 +
    * get my CANInfos
 +
    */
 +
    public List<CANInfo> getCANInfos() {
 +
      List<CANInfo> result=this.mCANInfos;
 +
      return result;
 +
    }
 +
 +
    /**
 +
    *  add a new CANInfo
 +
    */
 +
    public CANInfo add(CANInfo pCANInfo) {
 +
      mCANInfos.add(pCANInfo);
 +
      mCANInfoMap.put(pCANInfo.getPageid(),pCANInfo);
 +
      return pCANInfo;
 +
    }
 +
 +
    /**
 +
    *  add a new CANInfo from the given triple
 +
    */
 +
    public CANInfo add(TripleQuery query,Triple pCANInfoTriple) {
 +
      CANInfo lCANInfo=new CANInfo(query,pCANInfoTriple);
 +
      add(lCANInfo);
 +
      return lCANInfo;
 +
    }
 +
 +
    // reinitialize my mCANInfo map
 +
    public void reinit() {
 +
      mCANInfoMap.clear();
 +
      for (CANInfo lCANInfo:mCANInfos) {
 +
        mCANInfoMap.put(lCANInfo.getPageid(),lCANInfo);
 +
      }
 +
    }
 +
 +
    // convert this manager to json format
 +
    public String toJson() { return JSON.toJSONString(this); }
 +
   
 +
    // get a new manager from the given json string
 +
    public static CANInfoManager fromJson(String json) {
 +
      CANInfoManager result=JSON.parseObject(json, CANInfoManager.class);
 +
      result.reinit();
 +
      return result;
 +
    }
 +
 +
    // default constructor for CANInfo Manager
 +
    public CANInfoManager() {}
 +
 +
    // add CANInfos from the given query
 +
    public void addCANInfos(TripleQuery pCANInfoQuery,TripleQuery query) {
 +
      if (pCANInfoQuery!=null) {
 +
        for (Triple lCANInfoTriple:pCANInfoQuery.getTriples()) {
 +
          add(query,lCANInfoTriple);
 +
        }
 +
      }
 +
    }
 +
 +
    // construct me from the given triple Query query
 +
    public CANInfoManager(TripleQuery query) {
 +
      // first query the SiDIF bases triplestore
 +
      TripleQuery lCANInfoQuery=query.query(null,"isA","CANInfo");
 +
      addCANInfos(lCANInfoQuery,query);
 +
      // then the SMW triplestore
 +
      lCANInfoQuery=query.query(null,"Property:IsA","CANInfo");
 +
      addCANInfos(lCANInfoQuery,query);
 +
      init(query);
 +
    } // constructor for CANInfo Manager
 +
   
 +
    // >>>{user defined topicmanager code}{CANInfo}{CANInfo}
 +
    // <<<{user defined topicmanager code}{CANInfo}{CANInfo}
 +
  } // class CANInfo Manager
 
  /**
 
  /**
 
   * PID
 
   * PID
Line 103: Line 253:
 
     public String id;
 
     public String id;
 
     public String name;
 
     public String name;
 +
    public String description;
 
     public String links;
 
     public String links;
 
     public String examples;
 
     public String examples;
 +
    public String frequency;
  
 
     public String getId() { return id; }
 
     public String getId() { return id; }
Line 110: Line 262:
 
     public String getName() { return name; }
 
     public String getName() { return name; }
 
     public void setName(String pName) { name=pName; }
 
     public void setName(String pName) { name=pName; }
 +
    public String getDescription() { return description; }
 +
    public void setDescription(String pDescription) { description=pDescription; }
 
     public String getLinks() { return links; }
 
     public String getLinks() { return links; }
 
     public void setLinks(String pLinks) { links=pLinks; }
 
     public void setLinks(String pLinks) { links=pLinks; }
 
     public String getExamples() { return examples; }
 
     public String getExamples() { return examples; }
 
     public void setExamples(String pExamples) { examples=pExamples; }
 
     public void setExamples(String pExamples) { examples=pExamples; }
 +
    public String getFrequency() { return frequency; }
 +
    public void setFrequency(String pFrequency) { frequency=pFrequency; }
 
     /**
 
     /**
 
     * convert this PID to a JSON string
 
     * convert this PID to a JSON string
Line 126: Line 282:
 
       wikison+=toWikiSon("id",id);
 
       wikison+=toWikiSon("id",id);
 
       wikison+=toWikiSon("name",name);
 
       wikison+=toWikiSon("name",name);
 +
      wikison+=toWikiSon("description",description);
 
       wikison+=toWikiSon("links",links);
 
       wikison+=toWikiSon("links",links);
 
       wikison+=toWikiSon("examples",examples);
 
       wikison+=toWikiSon("examples",examples);
 +
      wikison+=toWikiSon("frequency",frequency);
 
       wikison+="}}\n";
 
       wikison+="}}\n";
 
       return wikison;
 
       return wikison;
Line 168: Line 326:
 
       if (nameTriple!=null)  
 
       if (nameTriple!=null)  
 
         name=nameTriple.getObject().toString();
 
         name=nameTriple.getObject().toString();
 +
      Triple descriptionTriple=query.selectSingle(pageid,"description",null);
 +
      if (descriptionTriple==null)
 +
        descriptionTriple=query.selectSingle(pageid,"Property:PID_description",null);
 +
      if (descriptionTriple!=null)
 +
        description=descriptionTriple.getObject().toString();
 
       Triple linksTriple=query.selectSingle(pageid,"links",null);
 
       Triple linksTriple=query.selectSingle(pageid,"links",null);
 
       if (linksTriple==null)
 
       if (linksTriple==null)
Line 178: Line 341:
 
       if (examplesTriple!=null)  
 
       if (examplesTriple!=null)  
 
         examples=examplesTriple.getObject().toString();
 
         examples=examplesTriple.getObject().toString();
 +
      Triple frequencyTriple=query.selectSingle(pageid,"frequency",null);
 +
      if (frequencyTriple==null)
 +
        frequencyTriple=query.selectSingle(pageid,"Property:PID_frequency",null);
 +
      if (frequencyTriple!=null)
 +
        frequency=frequencyTriple.getObject().toString();
 
       init(query);
 
       init(query);
 
     } // constructor for PID
 
     } // constructor for PID
Line 263: Line 431:
 
     // <<<{user defined topicmanager code}{PID}{PID}
 
     // <<<{user defined topicmanager code}{PID}{PID}
 
   } // class PID Manager
 
   } // class PID Manager
/**
 
  * CANInfo
 
  * OBD-II Diagnostic CAN Bus Information item
 
  */
 
  public static class CANInfo extends TopicBase {
 
 
 
    public String name;
 
 
    public String getName() { return name; }
 
    public void setName(String pName) { name=pName; }
 
    /**
 
    * convert this CANInfo to a JSON string
 
    */
 
    public String toJson() { return JSON.toJSONString(this); }
 
 
    /**
 
    * convert this CANInfo to a WikiSon string
 
    */
 
    public String toWikiSon() {
 
      String wikison= "{{CANInfo\n";
 
      wikison+=toWikiSon("name",name);
 
      wikison+="}}\n";
 
      return wikison;
 
    }
 
 
    /** 
 
    * get the pageid for this topic
 
    */
 
    public String getPageid() { return pageid; };
 
 
    /**
 
    * default constructor for CANInfo
 
    */
 
    public CANInfo() {}
 
 
    /**
 
    * construct a CANInfo from the given Triple
 
    * @param query - the TripleQuery to get the triples from
 
    * @param pCANInfoTriple - the triple to construct me from
 
    */
 
    public CANInfo(TripleQuery query,Triple pCANInfoTriple) {
 
      this(query,pCANInfoTriple.getSubject().toString());
 
    } // constructor
 
 
    /**
 
    * construct a CANInfo from the given pageId
 
    * @param query - the TripleQuery to get the triples from
 
    * @param pageid - pageid
 
    */
 
    public CANInfo(TripleQuery query,String pageid) {
 
      this.pageid=pageid;
 
      Triple nameTriple=query.selectSingle(pageid,"name",null);
 
      if (nameTriple==null)
 
        nameTriple=query.selectSingle(pageid,"Property:CANInfo_name",null);
 
      if (nameTriple!=null)
 
        name=nameTriple.getObject().toString();
 
      init(query);
 
    } // constructor for CANInfo
 
   
 
    // >>>{user defined topic code}{CANInfo}{CANInfo}
 
    // <<<{user defined topic code}{CANInfo}{CANInfo}
 
  } // class CANInfo
 
  /**
 
  * Manager for CANInfo
 
  */
 
  public static class CANInfoManager extends TopicBase {
 
 
    public String topicName="CANInfo";
 
    public transient List<CANInfo> mCANInfos=new ArrayList<CANInfo>();
 
    public transient Map<String,CANInfo> mCANInfoMap=new LinkedHashMap<String,CANInfo>();
 
 
    /**
 
    * get my CANInfos
 
    */
 
    public List<CANInfo> getCANInfos() {
 
      List<CANInfo> result=this.mCANInfos;
 
      return result;
 
    }
 
 
    /**
 
    *  add a new CANInfo
 
    */
 
    public CANInfo add(CANInfo pCANInfo) {
 
      mCANInfos.add(pCANInfo);
 
      mCANInfoMap.put(pCANInfo.getPageid(),pCANInfo);
 
      return pCANInfo;
 
    }
 
 
    /**
 
    *  add a new CANInfo from the given triple
 
    */
 
    public CANInfo add(TripleQuery query,Triple pCANInfoTriple) {
 
      CANInfo lCANInfo=new CANInfo(query,pCANInfoTriple);
 
      add(lCANInfo);
 
      return lCANInfo;
 
    }
 
 
    // reinitialize my mCANInfo map
 
    public void reinit() {
 
      mCANInfoMap.clear();
 
      for (CANInfo lCANInfo:mCANInfos) {
 
        mCANInfoMap.put(lCANInfo.getPageid(),lCANInfo);
 
      }
 
    }
 
 
    // convert this manager to json format
 
    public String toJson() { return JSON.toJSONString(this); }
 
   
 
    // get a new manager from the given json string
 
    public static CANInfoManager fromJson(String json) {
 
      CANInfoManager result=JSON.parseObject(json, CANInfoManager.class);
 
      result.reinit();
 
      return result;
 
    }
 
 
    // default constructor for CANInfo Manager
 
    public CANInfoManager() {}
 
 
    // add CANInfos from the given query
 
    public void addCANInfos(TripleQuery pCANInfoQuery,TripleQuery query) {
 
      if (pCANInfoQuery!=null) {
 
        for (Triple lCANInfoTriple:pCANInfoQuery.getTriples()) {
 
          add(query,lCANInfoTriple);
 
        }
 
      }
 
    }
 
 
    // construct me from the given triple Query query
 
    public CANInfoManager(TripleQuery query) {
 
      // first query the SiDIF bases triplestore
 
      TripleQuery lCANInfoQuery=query.query(null,"isA","CANInfo");
 
      addCANInfos(lCANInfoQuery,query);
 
      // then the SMW triplestore
 
      lCANInfoQuery=query.query(null,"Property:IsA","CANInfo");
 
      addCANInfos(lCANInfoQuery,query);
 
      init(query);
 
    } // constructor for CANInfo Manager
 
   
 
    // >>>{user defined topicmanager code}{CANInfo}{CANInfo}
 
    // <<<{user defined topicmanager code}{CANInfo}{CANInfo}
 
  } // class CANInfo Manager
 
  
 
}
 
}

Revision as of 07:50, 20 April 2017

java code

<source lang='java' id='javacode'>@// This is a rythm template @// the args are the standard wikiTask arguments @import org.sidif.triple.TripleQuery @import org.sidif.triple.Triple @import com.alibaba.fastjson.JSON @args() {

 String title 
 String logo
 org.sidif.wiki.WikiTask wikiTask
 org.sidif.triple.TripleStore tripleStore

}


@def static {

 /**
  * Base class
  */
 static abstract class TopicBase {
   // each Topic has a pageid - for non subobject thats the pagename
   public String pageid;
   /**
    * get a WikiSon version of the given name value
    * 
    * @param name
    * @param value
    * @return - the string representation
    */
   public String toWikiSon(String name, String value) {
     String result = "\n";
     if (value != null)
       result = "|" + name + "=" + value + "\n";
     return result;
   }
   /**
    * get the propertySidif of the given property
    * 
    * @param name
    * @param value
    * @return
    */
   public static String propertySiDIF(String name, String value, String type) {
     // default is an empty string - no property line for emtpy values
     String result = "";
     // if the value is not empty
     if ((value != null) && (!("".equals(value.trim())))) {
       // do we need to quote the result?
       String quote = "";
       // this depends on the Type
       if ("Text".equals(type)) {
         quote = "\"";
       }
       // create a SIDIF Property line like
       // "John" is lastname of it
       result += quote + value + quote + " is " + name + " of it\n";
     }
     // return the SiDIF property line
     return result;
   }
   /**
    * get me as a String
    * 
    * @param name
    * @param value
    * @return
    */
   public static String propertySiDIF(String name, String value) {
     String result = propertySiDIF(name, value, "Text");
     return result;
   }
   /**
    * check if the given boolean String value is true
    * 
    * @param value
    * @return true if the value is not null and has true/TRUE as it's string
    *         content
    */
   public boolean isTrue(String value) {
     boolean result = false;
     if (value != null && value.toLowerCase().equals("true")) {
       result = true;
     }
     return result;
   }
   /**
    * initialize
    */
   public void init(TripleQuery query) {
   }
 } // TopicBase
/**
 * CANInfo
 * OBD-II Diagnostic CAN Bus Information item
 */
 public static class CANInfo extends TopicBase {
 
   public String name;
   public String description;
   public String getName() { return name; }
   public void setName(String pName) { name=pName; }
   public String getDescription() { return description; }
   public void setDescription(String pDescription) { description=pDescription; }
   /**
    * convert this CANInfo to a JSON string
    */
   public String toJson() { return JSON.toJSONString(this); }
   /**
    * convert this CANInfo to a WikiSon string
    */
   public String toWikiSon() {
     String wikison= "{{CANInfo\n";
     wikison+=toWikiSon("name",name);
     wikison+=toWikiSon("description",description);
     wikison+="}}\n";
     return wikison;
   }

   /**  
    * get the pageid for this topic
    */
   public String getPageid() { return pageid; };
   /**
    * default constructor for CANInfo
    */
   public CANInfo() {}
   /**
    * construct a CANInfo from the given Triple
    * @param query - the TripleQuery to get the triples from
    * @param pCANInfoTriple - the triple to construct me from
    */
   public CANInfo(TripleQuery query,Triple pCANInfoTriple) {
     this(query,pCANInfoTriple.getSubject().toString());
   } // constructor
   /**
    * construct a CANInfo from the given pageId
    * @param query - the TripleQuery to get the triples from
    * @param pageid - pageid
    */
   public CANInfo(TripleQuery query,String pageid) {
     this.pageid=pageid;
     Triple nameTriple=query.selectSingle(pageid,"name",null);
     if (nameTriple==null)
       nameTriple=query.selectSingle(pageid,"Property:CANInfo_name",null);
     if (nameTriple!=null) 
       name=nameTriple.getObject().toString();
     Triple descriptionTriple=query.selectSingle(pageid,"description",null);
     if (descriptionTriple==null)
       descriptionTriple=query.selectSingle(pageid,"Property:CANInfo_description",null);
     if (descriptionTriple!=null) 
       description=descriptionTriple.getObject().toString();
     init(query);
   } // constructor for CANInfo
   
   // >>>{user defined topic code}{CANInfo}{CANInfo}
   // <<<{user defined topic code}{CANInfo}{CANInfo}
 } // class CANInfo
 /**
  * Manager for CANInfo
  */
 public static class CANInfoManager extends TopicBase {

   public String topicName="CANInfo";
   public transient List<CANInfo> mCANInfos=new ArrayList<CANInfo>();
   public transient Map<String,CANInfo> mCANInfoMap=new LinkedHashMap<String,CANInfo>();
   /**
    * get my CANInfos
    */
   public List<CANInfo> getCANInfos() {
     List<CANInfo> result=this.mCANInfos;
     return result;
   }
   /**
    *  add a new CANInfo 
    */
   public CANInfo add(CANInfo pCANInfo) {
     mCANInfos.add(pCANInfo);
     mCANInfoMap.put(pCANInfo.getPageid(),pCANInfo);
     return pCANInfo;
   }
   /**
    *  add a new CANInfo from the given triple
    */
   public CANInfo add(TripleQuery query,Triple pCANInfoTriple) {
     CANInfo lCANInfo=new CANInfo(query,pCANInfoTriple);
     add(lCANInfo);
     return lCANInfo;
   }
   // reinitialize my mCANInfo map
   public void reinit() {
     mCANInfoMap.clear();
     for (CANInfo lCANInfo:mCANInfos) {
       mCANInfoMap.put(lCANInfo.getPageid(),lCANInfo);
     }
   }
   // convert this manager to json format 
   public String toJson() { return JSON.toJSONString(this); }
   
   // get a new manager from the given json string
   public static CANInfoManager fromJson(String json) {
     CANInfoManager result=JSON.parseObject(json, CANInfoManager.class);
     result.reinit();
     return result;
   }
   // default constructor for CANInfo Manager
   public CANInfoManager() {}
   // add CANInfos from the given query
   public void addCANInfos(TripleQuery pCANInfoQuery,TripleQuery query) {
     if (pCANInfoQuery!=null) {
       for (Triple lCANInfoTriple:pCANInfoQuery.getTriples()) {
         add(query,lCANInfoTriple);
       }
     }
   }
   // construct me from the given triple Query query
   public CANInfoManager(TripleQuery query) {
     // first query the SiDIF bases triplestore
     TripleQuery lCANInfoQuery=query.query(null,"isA","CANInfo");
     addCANInfos(lCANInfoQuery,query);
     // then the SMW triplestore
     lCANInfoQuery=query.query(null,"Property:IsA","CANInfo");
     addCANInfos(lCANInfoQuery,query);
     init(query);
   } // constructor for CANInfo Manager
   
   // >>>{user defined topicmanager code}{CANInfo}{CANInfo}
   // <<<{user defined topicmanager code}{CANInfo}{CANInfo}
 } // class CANInfo Manager
/**
 * PID
 * OBD-II Diagnostic Parameter
 */
 public static class PID extends TopicBase {
 
   public String id;
   public String name;
   public String description;
   public String links;
   public String examples;
   public String frequency;
   public String getId() { return id; }
   public void setId(String pId) { id=pId; }
   public String getName() { return name; }
   public void setName(String pName) { name=pName; }
   public String getDescription() { return description; }
   public void setDescription(String pDescription) { description=pDescription; }
   public String getLinks() { return links; }
   public void setLinks(String pLinks) { links=pLinks; }
   public String getExamples() { return examples; }
   public void setExamples(String pExamples) { examples=pExamples; }
   public String getFrequency() { return frequency; }
   public void setFrequency(String pFrequency) { frequency=pFrequency; }
   /**
    * convert this PID to a JSON string
    */
   public String toJson() { return JSON.toJSONString(this); }
   /**
    * convert this PID to a WikiSon string
    */
   public String toWikiSon() {
     String wikison= "{{PID\n";
     wikison+=toWikiSon("id",id);
     wikison+=toWikiSon("name",name);
     wikison+=toWikiSon("description",description);
     wikison+=toWikiSon("links",links);
     wikison+=toWikiSon("examples",examples);
     wikison+=toWikiSon("frequency",frequency);
     wikison+="}}\n";
     return wikison;
   }

   /**  
    * get the pageid for this topic
    */
   public String getPageid() { return pageid; };
   /**
    * default constructor for PID
    */
   public PID() {}
   /**
    * construct a PID from the given Triple
    * @param query - the TripleQuery to get the triples from
    * @param pPIDTriple - the triple to construct me from
    */
   public PID(TripleQuery query,Triple pPIDTriple) {
     this(query,pPIDTriple.getSubject().toString());
   } // constructor
   /**
    * construct a PID from the given pageId
    * @param query - the TripleQuery to get the triples from
    * @param pageid - pageid
    */
   public PID(TripleQuery query,String pageid) {
     this.pageid=pageid;
     Triple idTriple=query.selectSingle(pageid,"id",null);
     if (idTriple==null)
       idTriple=query.selectSingle(pageid,"Property:PID_id",null);
     if (idTriple!=null) 
       id=idTriple.getObject().toString();
     Triple nameTriple=query.selectSingle(pageid,"name",null);
     if (nameTriple==null)
       nameTriple=query.selectSingle(pageid,"Property:PID_name",null);
     if (nameTriple!=null) 
       name=nameTriple.getObject().toString();
     Triple descriptionTriple=query.selectSingle(pageid,"description",null);
     if (descriptionTriple==null)
       descriptionTriple=query.selectSingle(pageid,"Property:PID_description",null);
     if (descriptionTriple!=null) 
       description=descriptionTriple.getObject().toString();
     Triple linksTriple=query.selectSingle(pageid,"links",null);
     if (linksTriple==null)
       linksTriple=query.selectSingle(pageid,"Property:PID_links",null);
     if (linksTriple!=null) 
       links=linksTriple.getObject().toString();
     Triple examplesTriple=query.selectSingle(pageid,"examples",null);
     if (examplesTriple==null)
       examplesTriple=query.selectSingle(pageid,"Property:PID_examples",null);
     if (examplesTriple!=null) 
       examples=examplesTriple.getObject().toString();
     Triple frequencyTriple=query.selectSingle(pageid,"frequency",null);
     if (frequencyTriple==null)
       frequencyTriple=query.selectSingle(pageid,"Property:PID_frequency",null);
     if (frequencyTriple!=null) 
       frequency=frequencyTriple.getObject().toString();
     init(query);
   } // constructor for PID
   
   // >>>{user defined topic code}{PID}{PID}
   // <<<{user defined topic code}{PID}{PID}
 } // class PID
 /**
  * Manager for PID
  */
 public static class PIDManager extends TopicBase {

   public String topicName="PID";
   public transient List<PID> mPIDs=new ArrayList<PID>();
   public transient Map<String,PID> mPIDMap=new LinkedHashMap<String,PID>();
   /**
    * get my PIDs
    */
   public List<PID> getPIDs() {
     List<PID> result=this.mPIDs;
     return result;
   }
   /**
    *  add a new PID 
    */
   public PID add(PID pPID) {
     mPIDs.add(pPID);
     mPIDMap.put(pPID.getPageid(),pPID);
     return pPID;
   }
   /**
    *  add a new PID from the given triple
    */
   public PID add(TripleQuery query,Triple pPIDTriple) {
     PID lPID=new PID(query,pPIDTriple);
     add(lPID);
     return lPID;
   }
   // reinitialize my mPID map
   public void reinit() {
     mPIDMap.clear();
     for (PID lPID:mPIDs) {
       mPIDMap.put(lPID.getPageid(),lPID);
     }
   }
   // convert this manager to json format 
   public String toJson() { return JSON.toJSONString(this); }
   
   // get a new manager from the given json string
   public static PIDManager fromJson(String json) {
     PIDManager result=JSON.parseObject(json, PIDManager.class);
     result.reinit();
     return result;
   }
   // default constructor for PID Manager
   public PIDManager() {}
   // add PIDs from the given query
   public void addPIDs(TripleQuery pPIDQuery,TripleQuery query) {
     if (pPIDQuery!=null) {
       for (Triple lPIDTriple:pPIDQuery.getTriples()) {
         add(query,lPIDTriple);
       }
     }
   }
   // construct me from the given triple Query query
   public PIDManager(TripleQuery query) {
     // first query the SiDIF bases triplestore
     TripleQuery lPIDQuery=query.query(null,"isA","PID");
     addPIDs(lPIDQuery,query);
     // then the SMW triplestore
     lPIDQuery=query.query(null,"Property:IsA","PID");
     addPIDs(lPIDQuery,query);
     init(query);
   } // constructor for PID Manager
   
   // >>>{user defined topicmanager code}{PID}{PID}
   // <<<{user defined topicmanager code}{PID}{PID}
 } // class PID Manager

}

Showing below 0 pages.

Retrieved from "https://wiki.bitplan.com/index.php?title=Concept:PID/Java&oldid=907#smw-result"