コード例 #1
0
ファイル: FormDef.java プロジェクト: ClaudiaAlawi/MyRepo
  /**
   * Reads the form definition object from the supplied stream.
   *
   * <p>Requires that the instance has been set to a prototype of the instance that should be used
   * for deserialization.
   *
   * @param dis - the stream to read from.
   * @throws IOException
   * @throws InstantiationException
   * @throws IllegalAccessException
   */
  public void readExternal(DataInputStream dis, PrototypeFactory pf)
      throws IOException, DeserializationException {
    setID(ExtUtil.readInt(dis));
    setName(ExtUtil.nullIfEmpty(ExtUtil.readString(dis)));
    setTitle((String) ExtUtil.read(dis, new ExtWrapNullable(String.class), pf));
    setChildren((Vector) ExtUtil.read(dis, new ExtWrapListPoly(), pf));

    setInstance((FormInstance) ExtUtil.read(dis, FormInstance.class, pf));

    setLocalizer((Localizer) ExtUtil.read(dis, new ExtWrapNullable(Localizer.class), pf));

    Vector vcond = (Vector) ExtUtil.read(dis, new ExtWrapList(Condition.class), pf);
    for (Enumeration e = vcond.elements(); e.hasMoreElements(); )
      addTriggerable((Condition) e.nextElement());
    Vector vcalc = (Vector) ExtUtil.read(dis, new ExtWrapList(Recalculate.class), pf);
    for (Enumeration e = vcalc.elements(); e.hasMoreElements(); )
      addTriggerable((Recalculate) e.nextElement());
    finalizeTriggerables();

    outputFragments = (Vector) ExtUtil.read(dis, new ExtWrapListPoly(), pf);

    submissionProfiles =
        (Hashtable<String, SubmissionProfile>)
            ExtUtil.read(dis, new ExtWrapMap(String.class, SubmissionProfile.class));
  }