public RecordDetail unmarshall(JsonUnmarshallerContext context) throws Exception {
    RecordDetail recordDetail = new RecordDetail();

    int originalDepth = context.getCurrentDepth();
    String currentParentElement = context.getCurrentParentElement();
    int targetDepth = originalDepth + 1;

    JsonToken token = context.getCurrentToken();
    if (token == null) token = context.nextToken();
    if (token == VALUE_NULL) return null;

    while (true) {
      if (token == null) break;

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("RecordId", targetDepth)) {
          context.nextToken();
          recordDetail.setRecordId(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("ProvisionedProductName", targetDepth)) {
          context.nextToken();
          recordDetail.setProvisionedProductName(
              context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("Status", targetDepth)) {
          context.nextToken();
          recordDetail.setStatus(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("CreatedTime", targetDepth)) {
          context.nextToken();
          recordDetail.setCreatedTime(
              context.getUnmarshaller(java.util.Date.class).unmarshall(context));
        }
        if (context.testExpression("UpdatedTime", targetDepth)) {
          context.nextToken();
          recordDetail.setUpdatedTime(
              context.getUnmarshaller(java.util.Date.class).unmarshall(context));
        }
        if (context.testExpression("ProvisionedProductType", targetDepth)) {
          context.nextToken();
          recordDetail.setProvisionedProductType(
              context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("RecordType", targetDepth)) {
          context.nextToken();
          recordDetail.setRecordType(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("ProvisionedProductId", targetDepth)) {
          context.nextToken();
          recordDetail.setProvisionedProductId(
              context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("ProductId", targetDepth)) {
          context.nextToken();
          recordDetail.setProductId(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("ProvisioningArtifactId", targetDepth)) {
          context.nextToken();
          recordDetail.setProvisioningArtifactId(
              context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("PathId", targetDepth)) {
          context.nextToken();
          recordDetail.setPathId(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("RecordErrors", targetDepth)) {
          context.nextToken();
          recordDetail.setRecordErrors(
              new ListUnmarshaller<RecordError>(RecordErrorJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("RecordTags", targetDepth)) {
          context.nextToken();
          recordDetail.setRecordTags(
              new ListUnmarshaller<RecordTag>(RecordTagJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getLastParsedParentElement() == null
            || context.getLastParsedParentElement().equals(currentParentElement)) {
          if (context.getCurrentDepth() <= originalDepth) break;
        }
      }
      token = context.nextToken();
    }

    return recordDetail;
  }
Beispiel #2
0
 /**
  * The identifier of the path for this product's provisioning.
  *
  * @param pathId The identifier of the path for this product's provisioning.
  * @return Returns a reference to this object so that method calls can be chained together.
  */
 public RecordDetail withPathId(String pathId) {
   setPathId(pathId);
   return this;
 }