Class GenericLiteralObjectSerializer.SOAPGenericObjectInstanceBuilder

java.lang.Object
com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.SOAPGenericObjectInstanceBuilder
All Implemented Interfaces:
SOAPInstanceBuilder
Enclosing class:
GenericLiteralObjectSerializer

protected class GenericLiteralObjectSerializer.SOAPGenericObjectInstanceBuilder extends Object implements SOAPInstanceBuilder
  • Method Details

    • 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; } } </code

      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... } </code

      Specified by:
      initialize in interface SOAPInstanceBuilder
    • setInstance

      public void setInstance(Object instance)
      Description copied from interface: SOAPInstanceBuilder
      Use this method to cache an instance of the object.
      Specified by:
      setInstance in interface SOAPInstanceBuilder
    • getInstance

      public Object getInstance()
      Description copied from interface: SOAPInstanceBuilder
      Return the instance that is being built.
      Specified by:
      getInstance in interface SOAPInstanceBuilder