public ActivityType unmarshall(JsonUnmarshallerContext context) throws Exception {
    ActivityType activityType = new ActivityType();

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

    JsonToken token = context.currentToken;
    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("name", targetDepth)) {
          context.nextToken();
          activityType.setName(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("version", targetDepth)) {
          context.nextToken();
          activityType.setVersion(StringJsonUnmarshaller.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 activityType;
  }
  public FileSystemSize unmarshall(JsonUnmarshallerContext context) throws Exception {
    FileSystemSize fileSystemSize = new FileSystemSize();

    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("Value", targetDepth)) {
          context.nextToken();
          fileSystemSize.setValue(LongJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("Timestamp", targetDepth)) {
          context.nextToken();
          fileSystemSize.setTimestamp(DateJsonUnmarshaller.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 fileSystemSize;
  }
  public GitHubLocation unmarshall(JsonUnmarshallerContext context) throws Exception {
    GitHubLocation gitHubLocation = new GitHubLocation();

    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("repository", targetDepth)) {
          context.nextToken();
          gitHubLocation.setRepository(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("commitId", targetDepth)) {
          context.nextToken();
          gitHubLocation.setCommitId(context.getUnmarshaller(String.class).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 gitHubLocation;
  }
  public WorkflowExecutionCount unmarshall(JsonUnmarshallerContext context) throws Exception {
    WorkflowExecutionCount workflowExecutionCount = new WorkflowExecutionCount();
    int originalDepth = context.getCurrentDepth();
    int targetDepth = originalDepth + 1;

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

    while (true) {
      if (token == null) return workflowExecutionCount;

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("count", targetDepth)) {
          context.nextToken();
          workflowExecutionCount.setCount(
              IntegerJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("truncated", targetDepth)) {
          context.nextToken();
          workflowExecutionCount.setTruncated(
              BooleanJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) {
          return workflowExecutionCount;
        }
      }
      token = context.nextToken();
    }
  }
  public NetworkInterface unmarshall(JsonUnmarshallerContext context) throws Exception {
    NetworkInterface networkInterface = new NetworkInterface();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("Ipv4Address", targetDepth)) {
          context.nextToken();
          networkInterface.setIpv4Address(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("MacAddress", targetDepth)) {
          context.nextToken();
          networkInterface.setMacAddress(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("Ipv6Address", targetDepth)) {
          context.nextToken();
          networkInterface.setIpv6Address(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) break;
      }

      token = context.nextToken();
    }

    return networkInterface;
  }
  public JobSummary unmarshall(JsonUnmarshallerContext context) throws Exception {
    JobSummary jobSummary = new JobSummary();

    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("jobId", targetDepth)) {
          context.nextToken();
          jobSummary.setJobId(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("jobName", targetDepth)) {
          context.nextToken();
          jobSummary.setJobName(context.getUnmarshaller(String.class).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 jobSummary;
  }
  public Location unmarshall(JsonUnmarshallerContext context) throws Exception {
    Location location = new Location();

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

    JsonToken token = context.currentToken;
    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("locationCode", targetDepth)) {
          context.nextToken();
          location.setLocationCode(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("locationName", targetDepth)) {
          context.nextToken();
          location.setLocationName(StringJsonUnmarshaller.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 location;
  }
  public StopDeploymentResult unmarshall(JsonUnmarshallerContext context) throws Exception {
    StopDeploymentResult stopDeploymentResult = new StopDeploymentResult();

    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("status", targetDepth)) {
          context.nextToken();
          stopDeploymentResult.setStatus(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("statusMessage", targetDepth)) {
          context.nextToken();
          stopDeploymentResult.setStatusMessage(
              StringJsonUnmarshaller.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 stopDeploymentResult;
  }
  public WriteRequest unmarshall(JsonUnmarshallerContext context) throws Exception {
    WriteRequest writeRequest = new WriteRequest();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("PutRequest", targetDepth)) {
          context.nextToken();
          writeRequest.setPutRequest(PutRequestJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("DeleteRequest", targetDepth)) {
          context.nextToken();
          writeRequest.setDeleteRequest(
              DeleteRequestJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) break;
      }

      token = context.nextToken();
    }

    return writeRequest;
  }
  public ThrottleSettings unmarshall(JsonUnmarshallerContext context) throws Exception {
    ThrottleSettings throttleSettings = new ThrottleSettings();

    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("burstLimit", targetDepth)) {
          context.nextToken();
          throttleSettings.setBurstLimit(
              context.getUnmarshaller(Integer.class).unmarshall(context));
        }
        if (context.testExpression("rateLimit", targetDepth)) {
          context.nextToken();
          throttleSettings.setRateLimit(context.getUnmarshaller(Double.class).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 throttleSettings;
  }
  public FleetError unmarshall(JsonUnmarshallerContext context) throws Exception {
    FleetError fleetError = new FleetError();

    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("ErrorCode", targetDepth)) {
          context.nextToken();
          fleetError.setErrorCode(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("ErrorMessage", targetDepth)) {
          context.nextToken();
          fleetError.setErrorMessage(context.getUnmarshaller(String.class).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 fleetError;
  }
  public WorkflowExecutionInfos unmarshall(JsonUnmarshallerContext context) throws Exception {
    WorkflowExecutionInfos workflowExecutionInfos = new WorkflowExecutionInfos();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("executionInfos", targetDepth)) {
          workflowExecutionInfos.setExecutionInfos(
              new ListUnmarshaller<WorkflowExecutionInfo>(
                      WorkflowExecutionInfoJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("nextPageToken", targetDepth)) {
          context.nextToken();
          workflowExecutionInfos.setNextPageToken(
              StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) break;
      }

      token = context.nextToken();
    }

    return workflowExecutionInfos;
  }
  public CreateGrantResult unmarshall(JsonUnmarshallerContext context) throws Exception {
    CreateGrantResult createGrantResult = new CreateGrantResult();

    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("GrantToken", targetDepth)) {
          context.nextToken();
          createGrantResult.setGrantToken(
              context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("GrantId", targetDepth)) {
          context.nextToken();
          createGrantResult.setGrantId(context.getUnmarshaller(String.class).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 createGrantResult;
  }
  public ListRunsResult unmarshall(JsonUnmarshallerContext context) throws Exception {
    ListRunsResult listRunsResult = new ListRunsResult();

    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("runs", targetDepth)) {
          context.nextToken();
          listRunsResult.setRuns(
              new ListUnmarshaller<Run>(RunJsonUnmarshaller.getInstance()).unmarshall(context));
        }
        if (context.testExpression("nextToken", targetDepth)) {
          context.nextToken();
          listRunsResult.setNextToken(StringJsonUnmarshaller.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 listRunsResult;
  }
  public BatchResponse unmarshall(JsonUnmarshallerContext context) throws Exception {
    BatchResponse batchResponse = new BatchResponse();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("Items", targetDepth)) {
          batchResponse.setItems(
              new ListUnmarshaller<java.util.Map<String, AttributeValue>>(
                      new MapUnmarshaller<String, AttributeValue>(
                          StringJsonUnmarshaller.getInstance(),
                          AttributeValueJsonUnmarshaller.getInstance()))
                  .unmarshall(context));
        }
        if (context.testExpression("ConsumedCapacityUnits", targetDepth)) {
          context.nextToken();
          batchResponse.setConsumedCapacityUnits(
              DoubleJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) break;
      }

      token = context.nextToken();
    }

    return batchResponse;
  }
  public SeverityLevel unmarshall(JsonUnmarshallerContext context) throws Exception {
    SeverityLevel severityLevel = new SeverityLevel();

    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("code", targetDepth)) {
          context.nextToken();
          severityLevel.setCode(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("name", targetDepth)) {
          context.nextToken();
          severityLevel.setName(context.getUnmarshaller(String.class).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 severityLevel;
  }
  public PutPipelineDefinitionResult unmarshall(JsonUnmarshallerContext context) throws Exception {
    PutPipelineDefinitionResult putPipelineDefinitionResult = new PutPipelineDefinitionResult();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("validationErrors", targetDepth)) {
          putPipelineDefinitionResult.setValidationErrors(
              new ListUnmarshaller<ValidationError>(ValidationErrorJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("errored", targetDepth)) {
          context.nextToken();
          putPipelineDefinitionResult.setErrored(
              BooleanJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) break;
      }

      token = context.nextToken();
    }

    return putPipelineDefinitionResult;
  }
  public IncompatibilityMessage unmarshall(JsonUnmarshallerContext context) throws Exception {
    IncompatibilityMessage incompatibilityMessage = new IncompatibilityMessage();

    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("message", targetDepth)) {
          context.nextToken();
          incompatibilityMessage.setMessage(
              StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("type", targetDepth)) {
          context.nextToken();
          incompatibilityMessage.setType(StringJsonUnmarshaller.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 incompatibilityMessage;
  }
  public DataRetrievalRule unmarshall(JsonUnmarshallerContext context) throws Exception {
    DataRetrievalRule dataRetrievalRule = new DataRetrievalRule();

    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("Strategy", targetDepth)) {
          context.nextToken();
          dataRetrievalRule.setStrategy(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("BytesPerHour", targetDepth)) {
          context.nextToken();
          dataRetrievalRule.setBytesPerHour(LongJsonUnmarshaller.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 dataRetrievalRule;
  }
  public WebACLUpdate unmarshall(JsonUnmarshallerContext context) throws Exception {
    WebACLUpdate webACLUpdate = new WebACLUpdate();

    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("Action", targetDepth)) {
          context.nextToken();
          webACLUpdate.setAction(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("ActivatedRule", targetDepth)) {
          context.nextToken();
          webACLUpdate.setActivatedRule(
              ActivatedRuleJsonUnmarshaller.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 webACLUpdate;
  }
  public Key unmarshall(JsonUnmarshallerContext context) throws Exception {
    Key key = new Key();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("HashKeyElement", targetDepth)) {
          context.nextToken();
          key.setHashKeyElement(AttributeValueJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("RangeKeyElement", targetDepth)) {
          context.nextToken();
          key.setRangeKeyElement(AttributeValueJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) break;
      }
      token = context.nextToken();
    }

    return key;
  }
  public DomainDetail unmarshall(JsonUnmarshallerContext context) throws Exception {
    DomainDetail domainDetail = new DomainDetail();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("domainInfo", targetDepth)) {
          context.nextToken();
          domainDetail.setDomainInfo(DomainInfoJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("configuration", targetDepth)) {
          context.nextToken();
          domainDetail.setConfiguration(
              DomainConfigurationJsonUnmarshaller.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 domainDetail;
  }
  public PutItemResult unmarshall(JsonUnmarshallerContext context) throws Exception {
    PutItemResult putItemResult = new PutItemResult();

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

    JsonToken token = context.currentToken;
    if (token == null) token = context.nextToken();

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

      if (token == FIELD_NAME || token == START_OBJECT) {
        if (context.testExpression("Attributes", targetDepth)) {
          putItemResult.setAttributes(
              new MapUnmarshaller<String, AttributeValue>(
                      StringJsonUnmarshaller.getInstance(),
                      AttributeValueJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("ConsumedCapacityUnits", targetDepth)) {
          context.nextToken();
          putItemResult.setConsumedCapacityUnits(
              DoubleJsonUnmarshaller.getInstance().unmarshall(context));
        }
      } else if (token == END_ARRAY || token == END_OBJECT) {
        if (context.getCurrentDepth() <= originalDepth) break;
      }
      token = context.nextToken();
    }

    return putItemResult;
  }
  public BootstrapActionConfig unmarshall(JsonUnmarshallerContext context) throws Exception {
    BootstrapActionConfig bootstrapActionConfig = new BootstrapActionConfig();

    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("Name", targetDepth)) {
          context.nextToken();
          bootstrapActionConfig.setName(StringJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("ScriptBootstrapAction", targetDepth)) {
          context.nextToken();
          bootstrapActionConfig.setScriptBootstrapAction(
              ScriptBootstrapActionConfigJsonUnmarshaller.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 bootstrapActionConfig;
  }
  public Tag unmarshall(JsonUnmarshallerContext context) throws Exception {
    Tag tag = new Tag();

    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("Key", targetDepth)) {
          context.nextToken();
          tag.setKey(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("Value", targetDepth)) {
          context.nextToken();
          tag.setValue(context.getUnmarshaller(String.class).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 tag;
  }
  public QueryResult unmarshall(JsonUnmarshallerContext context) throws Exception {
    QueryResult queryResult = new QueryResult();

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

    JsonToken token = context.currentToken;
    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("Items", targetDepth)) {
          context.nextToken();
          queryResult.setItems(
              new ListUnmarshaller<java.util.Map<String, AttributeValue>>(
                      new MapUnmarshaller<String, AttributeValue>(
                          StringJsonUnmarshaller.getInstance(),
                          AttributeValueJsonUnmarshaller.getInstance()))
                  .unmarshall(context));
        }
        if (context.testExpression("Count", targetDepth)) {
          context.nextToken();
          queryResult.setCount(IntegerJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("ScannedCount", targetDepth)) {
          context.nextToken();
          queryResult.setScannedCount(IntegerJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("LastEvaluatedKey", targetDepth)) {
          context.nextToken();
          queryResult.setLastEvaluatedKey(
              new MapUnmarshaller<String, AttributeValue>(
                      StringJsonUnmarshaller.getInstance(),
                      AttributeValueJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("ConsumedCapacity", targetDepth)) {
          context.nextToken();
          queryResult.setConsumedCapacity(
              ConsumedCapacityJsonUnmarshaller.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 queryResult;
  }
  public Recipes unmarshall(JsonUnmarshallerContext context) throws Exception {
    Recipes recipes = new Recipes();

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

    JsonToken token = context.currentToken;
    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("Setup", targetDepth)) {
          context.nextToken();
          recipes.setSetup(
              new ListUnmarshaller<String>(StringJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("Configure", targetDepth)) {
          context.nextToken();
          recipes.setConfigure(
              new ListUnmarshaller<String>(StringJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("Deploy", targetDepth)) {
          context.nextToken();
          recipes.setDeploy(
              new ListUnmarshaller<String>(StringJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("Undeploy", targetDepth)) {
          context.nextToken();
          recipes.setUndeploy(
              new ListUnmarshaller<String>(StringJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("Shutdown", targetDepth)) {
          context.nextToken();
          recipes.setShutdown(
              new ListUnmarshaller<String>(StringJsonUnmarshaller.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 recipes;
  }
  public WorkflowExecutionDetail unmarshall(JsonUnmarshallerContext context) throws Exception {
    WorkflowExecutionDetail workflowExecutionDetail = new WorkflowExecutionDetail();

    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("executionInfo", targetDepth)) {
          context.nextToken();
          workflowExecutionDetail.setExecutionInfo(
              WorkflowExecutionInfoJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("executionConfiguration", targetDepth)) {
          context.nextToken();
          workflowExecutionDetail.setExecutionConfiguration(
              WorkflowExecutionConfigurationJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("openCounts", targetDepth)) {
          context.nextToken();
          workflowExecutionDetail.setOpenCounts(
              WorkflowExecutionOpenCountsJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("latestActivityTaskTimestamp", targetDepth)) {
          context.nextToken();
          workflowExecutionDetail.setLatestActivityTaskTimestamp(
              DateJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("latestExecutionContext", targetDepth)) {
          context.nextToken();
          workflowExecutionDetail.setLatestExecutionContext(
              StringJsonUnmarshaller.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 workflowExecutionDetail;
  }
  public ActionType unmarshall(JsonUnmarshallerContext context) throws Exception {
    ActionType actionType = new ActionType();

    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("id", targetDepth)) {
          context.nextToken();
          actionType.setId(ActionTypeIdJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("settings", targetDepth)) {
          context.nextToken();
          actionType.setSettings(
              ActionTypeSettingsJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("actionConfigurationProperties", targetDepth)) {
          context.nextToken();
          actionType.setActionConfigurationProperties(
              new ListUnmarshaller<ActionConfigurationProperty>(
                      ActionConfigurationPropertyJsonUnmarshaller.getInstance())
                  .unmarshall(context));
        }
        if (context.testExpression("inputArtifactDetails", targetDepth)) {
          context.nextToken();
          actionType.setInputArtifactDetails(
              ArtifactDetailsJsonUnmarshaller.getInstance().unmarshall(context));
        }
        if (context.testExpression("outputArtifactDetails", targetDepth)) {
          context.nextToken();
          actionType.setOutputArtifactDetails(
              ArtifactDetailsJsonUnmarshaller.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 actionType;
  }
Пример #30
0
  public Hit unmarshall(JsonUnmarshallerContext context) throws Exception {
    Hit hit = new Hit();

    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("id", targetDepth)) {
          context.nextToken();
          hit.setId(context.getUnmarshaller(String.class).unmarshall(context));
        }
        if (context.testExpression("fields", targetDepth)) {
          context.nextToken();
          hit.setFields(
              new MapUnmarshaller<String, java.util.List<String>>(
                      context.getUnmarshaller(String.class),
                      new ListUnmarshaller<String>(context.getUnmarshaller(String.class)))
                  .unmarshall(context));
        }
        if (context.testExpression("exprs", targetDepth)) {
          context.nextToken();
          hit.setExprs(
              new MapUnmarshaller<String, String>(
                      context.getUnmarshaller(String.class), context.getUnmarshaller(String.class))
                  .unmarshall(context));
        }
        if (context.testExpression("highlights", targetDepth)) {
          context.nextToken();
          hit.setHighlights(
              new MapUnmarshaller<String, String>(
                      context.getUnmarshaller(String.class), context.getUnmarshaller(String.class))
                  .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 hit;
  }