public Role unmarshall(StaxUnmarshallerContext context) throws Exception {
    Role role = new Role();
    int originalDepth = context.getCurrentDepth();
    int targetDepth = originalDepth + 1;

    if (context.isStartOfDocument()) targetDepth += 1;

    while (true) {
      XMLEvent xmlEvent = context.nextEvent();
      if (xmlEvent.isEndDocument()) return role;

      if (xmlEvent.isAttribute() || xmlEvent.isStartElement()) {

        if (context.testExpression("Path", targetDepth)) {
          role.setPath(StringStaxUnmarshaller.getInstance().unmarshall(context));
          continue;
        }

        if (context.testExpression("RoleName", targetDepth)) {
          role.setRoleName(StringStaxUnmarshaller.getInstance().unmarshall(context));
          continue;
        }

        if (context.testExpression("RoleId", targetDepth)) {
          role.setRoleId(StringStaxUnmarshaller.getInstance().unmarshall(context));
          continue;
        }

        if (context.testExpression("Arn", targetDepth)) {
          role.setArn(StringStaxUnmarshaller.getInstance().unmarshall(context));
          continue;
        }

        if (context.testExpression("CreateDate", targetDepth)) {
          role.setCreateDate(DateStaxUnmarshaller.getInstance().unmarshall(context));
          continue;
        }

        if (context.testExpression("AssumeRolePolicyDocument", targetDepth)) {
          role.setAssumeRolePolicyDocument(
              StringStaxUnmarshaller.getInstance().unmarshall(context));
          continue;
        }
      } else if (xmlEvent.isEndElement()) {
        if (context.getCurrentDepth() < originalDepth) {
          return role;
        }
      }
    }
  }
Пример #2
0
 /**
  * The friendly name that identifies the role.
  *
  * @param roleName The friendly name that identifies the role.
  * @return Returns a reference to this object so that method calls can be chained together.
  */
 public Role withRoleName(String roleName) {
   setRoleName(roleName);
   return this;
 }