Class SOAPResponseSerializer.SOAPResponseStructureBuilder

    • Method Detail

      • setOutParameterName

        public void setOutParameterName​(int index,
                                        QName name)
      • memberGateType

        public int memberGateType​(int memberIndex)
        Description copied from interface: SOAPInstanceBuilder
        Return the activity that is gated by a member along with the state that member has to be in in order to allow the activity to proceed. A member either GATES_CONSTRUCTION or it GATES_INITIALIZATION. A member that needs to be created in order to allow its parent object to be created or initialized REQUIRES_CREATION if it needs to be fully initialized in order to be used in the activity that it gates then it REQUIRES_INITIALIZATION. If it needs all of its own members to be initialized all the way down to the leaf members (members without sub-members), then it REQUIRES_COMPLETION. Note that in an object graph that contains loops none of the nodes on a looping branch will ever be considered to be in the "complete" state.

        Here is a sample implementation: public int memberGateType(int memberIndex) { switch (memberIndex) { case CONSTRUCTOR_PARAM1: return GATES_CONSTRUCTION + REQUIRES_INITIALIZATION; case CONSTRUCTOR_PARAM2: return GATES_CONSTRUCTION + REQUIRES_CREATION; case CONSTRUCTOR_PARAM3: return GATES_CONSTRUCTION + REQUIRES_COMPLETION; case USED_IN_SETTER1: return GATES_INITIALIZATION + REQUIRES_COMPLETION; case USED_IN_SETTER2: return GATES_INITIALIZATION + REQUIRES_INITIALIZATION; case USED_IN_SETTER3: return GATES_INITIALIZATION + REQUIRES_CREATION; default : return GATES_INITIALIZATION + REQUIRES_CREATION; } }

        Specified by:
        memberGateType in interface SOAPInstanceBuilder
      • construct

        public void construct()
        Description copied from interface: SOAPInstanceBuilder
        Create a new instance optionally using cached values as constructor parameters:

        public void construct() { instance = new myType(); OR instance = new myType(args.param1, args.param2, args.param3, args.param4 ...); }

        Specified by:
        construct in interface SOAPInstanceBuilder
      • setMember

        public void setMember​(int index,
                              Object memberValue)
        Description copied from interface: SOAPInstanceBuilder
        Initialize the value of a member of the object or cache the value for later use during construction:

        public void setMember(int index, Object memberValue) { switch (index) { case INT_MEMBER1: // Set a public data member instance.intMember1 = ((Integer) memberValue).intValue(); // Or use a setter instance.setIntMember1(((Integer) memberValue).intValue()); // Or if there is no default constructor you save them up // for construction or initialization this.intMember1 = ((Integer) memberValue).intValue(); break; case OBJECT_MEMBER1: instance.setObjectMember1((myObjectType) memberValue); break; } }

        Specified by:
        setMember in interface SOAPInstanceBuilder
      • initialize

        public void initialize()
        Description copied from interface: SOAPInstanceBuilder
        If there is no default constructor then the constructor arguments will have to be cached until they all arrive. In that case all of the other members of the object will have to be cached as well since they may arrive before the object is constructed. This method is called after the object is constructed and values for all members have arrived. If you have cached values in setmember now is the time to use them to initialize members.

        public void initialize() { instance.setIntMember1(members.intMember1); instance.setObjectMember1(members.objectMember1); etc... }

        Specified by:
        initialize in interface SOAPInstanceBuilder