Serializing the Method object

Hello.
I need to serialize the Method object, but as i have no access to it, does it mean that i will not be able to do anything?

Yes. that's what i thought.
Instead i created an Externalizable class that contains my Method, and i do the marshalling/unmarshalling by myself.
Has anyone got an idea of why they did not make it serializable? Is there a reason, or is it just because they forgot?

Similar Messages

  • Locking on Method objects?

    my understanding is that:
    public synchronized void counter() { usageCounter++;  }is equivalent to:
    public void counter() {
      synchronized(this) {
        usageCounter++;
    }locking the whole object has some overhead. could this overhead be eliminated using this approach:
    public void counter() {
      Method m = this.getClass().getMethod("counter", new Class[0]);
      synchronized(m) {
        usageCounter++;
      } // and this method is the only way to modify "usageCounter"
    }what exactly does this do?
    my understanding is that a Method object is static and immutable . they are created when the relevant class is loaded.
    so, it really makes no difference that i sync on the " +counter()+ " method object when i am in " +counter()+ ". right? i could just as easily sync on maybe the " +counter123()+ " method object.
    btw, do immutable objects have mutable locks? my code compiles/runs correctly. though, i've not done extensive testing to see if i get a "ConcurrentModificationException"
    anyway, this is all hypothetical. just trying to learn about java. and maybe someday i can answer, rather than post, questions.
    thanks.

    what exactly does this do?Uses a Method object as a lock. Note: a Method is only a representation of the compiled method. You cannot get access to the compiled method.
    Method object is static and immutable .Its neither. You can have more than one per real method (not static in any sense of the word) and they are mutable. e.g. setAccessible()
    they are created when the relevant class is loaded.No. When the class is loaded, neither the compiled method (created when you call the method) nor the Method object are created are loaded (The first Merthod is created the first time it is needed and then copied as required, the Class has a soft reference to a cached copy which means the cached copy is discarded on a full gc, potentially recreated later)
    it really makes no difference that i sync on the " counter() " method object when i am in " counter() ". right? Locking on a object means different threads can be accessing different objects at once, but two threads cannot access different synchronized methods on the same object at once.
    In your case you have the opposite. Different thread would not be able to concurrently access a method (even for different objects) but would be able to access different methods of the same object.
    Except, as Method is mutable, getMethod() returns a different object each time, so your lock effectively does nothing.
    The purpose of synchronization is to protect mutable data i.e. fields of an object, not protect methods.
    immutable objects have mutable locks?All objects have locks, immutable object are no different. (Java doesn't know the object is immutable, perhaps it should, but it doesn't)
    i've not done extensive testing to see if i get a "ConcurrentModificationException"You could be waiting a while as this only occurs on Iterator for some collections. Note: you can get this exception with just one thread.
    just trying to learn about java. and maybe someday i can answer, rather than post, questions.This is a good place to do that.

  • Error when starting the Method of a business Object

    Hi,
    A Zworkflow is created for Compensation adjustment in 4.7 . It has been moved to ECC 6.0 . A ZBusiness object is created without a keyfield which has a zmethod is created for updating a infotype 380. Its i/p parameter is a workqueue no. which is the key field for bus7022.
       Now in ECC 6.0, when I try to execute the method it is showing the errror  "<b>Access 'C' is not valid for the verb type 'A'</b> ".
      Can anyone tell me why is this error occuring??
    Thanks,
    Sivagami.R

    Hi,
      It was having a Unicode error. But tht is rectified. After tht i am not able to execute tht method.
      Help me in this..
    Thanks,
    Sivagami

  • While trying to invoke the method java.lang.String.length() of an object loaded from local variable 'payload'

    Hi,
    Our PI is getting data from WebSphere MQ and pushing to SAP. So our sender CC is JMS and receiver is Proxy. Our PI version is 7.31.
    Our connectivity between the MQ is success but getting the following error while trying to read the payload.
    Text: TxManagerFilter received an error:
    [EXCEPTION]
    java.lang.NullPointerException: while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'payload'
           at com.sap.aii.adapter.jms.core.channel.filter.ConvertJmsMessageToBinaryFilter.filter(ConvertJmsMessageToBinaryFilter.java:73)
           at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:204)
           at com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(InboundDuplicateCheckFilter.java:348)
           at com.sap.aii.adapter.jms.core.channel.filter.MessageFilterContextImpl.callNext(MessageFilterContextImpl.java:204)
    I have searched SDN but couldn't fix it. Please provide your suggestion.
    With Regards
    Amarnath M

    Hi Amarnath,
    Where exactly you are getting this error?
    If you are getting at JMS Sender communication channel, try to stop and start the JMS communication channel and see the status, also use XPI Inspector to get the exact error log.
    for reference follow below blogs:
    Michal's PI tips: ActiveMQ - JMS - topics with SAP PI 7.3
    Michal's PI tips: XPI inspector - help OSS and yourself
    XPI Inspector

  • Approval task SP09: Evaluation of approvalid failed with Exception: while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'aValue'

    Hi everyone,
    I just installed SP09 and i was testing the solution. And I found a problem with the approvals tasks.
    I configured a simple ROLE approval task for validate add event. And when the runtime executes the task, the dispatcher log shows a error:
    ERROR: Evaluation of approvalid failed with Exception: while trying to invoke the method java.lang.String.length() of an object loaded from local variable 'aValue'
    And the notifications configured on approval task does not start either.
    The approval goes to the ToDO tab of the approver, but when approved, also the ROLE stays in "Pending" State.
    I downgraded the Runtime components to SP08 to test, and the approvals tasks works correctly.
    Has anyone passed trough this situation in SP09?
    I think there is an issue with the runtime components delivered with this initial package of SP09.
    Suggestions?

    Hi Kelvin,2016081
    The issue is caused by a program error in the Dispatcher component. A fix will be provided in Identity Management SP9 Patch 2 for the Runtime component. I expect the patch will be delivered within a week or two.
    For more info about the issue and the patch please refer to SAPNote 2016081.
    @Michael Penn - I might be able to assist if you provide the ticket number
    Cheers,
    Kristiyan
    IdM Development

  • The method getBean() is not valid for metadata object /ex/model/remittance/client/common/bc4j.xcfg

    Hi,
    I am getting bellow error when i am running my application. I am using JDeveloper 11.1.2.3
    <Nov 6, 2013 9:52:57 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY>
    <Nov 6, 2013 9:52:57 AM AST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
    <BC4JConfigLifeCycleCallBack> <contextInitialized> MDS-01702: The method getBean() is not valid for metadata object /ex/model/remittance/client/common/bc4j.xcfg - it is allowed on only bean metadata objects.
    oracle.mds.exception.MDSRuntimeException: MDS-01702: The method getBean() is not valid for metadata object /ex/model/remittance/client/common/bc4j.xcfg - it is allowed on only bean metadata objects.
      at oracle.mds.core.MetadataObject.getBean(MetadataObject.java:327)
      at oracle.adf.share.jndi.MDSBackingStore.getMOBean(MDSBackingStore.java:558)
      at oracle.bc4j.mbean.RuntimeMXBeanImpl.init(RuntimeMXBeanImpl.java:120)
      at oracle.bc4j.mbean.RuntimeMXBeanImpl.<init>(RuntimeMXBeanImpl.java:110)
      at oracle.bc4j.mbean.RuntimeMXBeanImpl.<init>(RuntimeMXBeanImpl.java:101)
      at oracle.bc4j.mbean.BC4JConfigLifeCycleCallBack.contextInitialized(BC4JConfigLifeCycleCallBack.java:114)
      at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:481)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
      at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:181)
      at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1872)
      at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3153)
      at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1508)
      at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)
      at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
      at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
      at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
      at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247)
      at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
      at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
      at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27)
      at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:636)
      at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
      at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:205)
      at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:58)
      at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
      at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
      at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184)
      at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361)
      at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51)
      at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:200)
      at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
      at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
      at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
      at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
      at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)
      at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)
      at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    <Nov 6, 2013 9:53:11 AM AST> <Notice> <LoggingService> <BEA-320400> <The log file C:\Users\maroof\AppData\Roaming\JDeveloper\system11.1.2.3.39.62.76.1\DefaultDomain\servers\DefaultServer\logs\DefaultDomain.log will be rotated. Reop
    I seen oracle docs solution
    MDS-01702: The method getBean() is not valid for metadata object {0} - it is allowed on only bean metadata objects.
    Cause: An attempt was made to access the metadata object using the bean API but the metadata object was not a bean metadata object. The schema for the root element may not have been registered with MDS, or the beans were not available on the classpath.
    Action: Regenerate the beans from the schema definitions and ensure that the correct versions are on the classpath. Check that the schemas are registered with the MDS instance.
    Level: 1
    Type: ERROR
    Impact: Configuration
    But i am not getting what i do in my application for removing this error.
    Maroof

    Do you use MDS in your application?
    It's possible that you see a leftover of an earlier deployment.
    Do you get the same error if you only start the integrated server (application server navigator->integrated server->debug or run)?
    IF you don't get it when you only start the server without running your application, the problem is somewhere in your app. If you get the error it's probably an old deployment or a configuration error of your server. In this case stop jdev, rename the DefaultDomain folder C:\Users\maroof\AppData\Roaming\JDeveloper\system11.1.2.3.39.62.76.1\DefaultDomain tp C:\Users\maroof\AppData\Roaming\JDeveloper\system11.1.2.3.39.62.76.1\xxxDefaultDomain and start jdev again. Then use hte application server navigator to create a new integrated server (you should see this option as the DefaultDomain folder is not present) and once the new integrated server is created test again.
    Timo

  • Want to know how to debug the Business Object Method called from CRM

    Hi all,
    I have to debug a Method of a custom Business Object. This is being called when a certain action is performed
    on the CRM  ( CIC0 screen). I can not see an option to set an external break point in the Program of the Business Object
    Method.
    This Business Object calls a standard SAP FM. I tried setting an external break point in that FM and tried executing that.
    But it  is not stopping there.
    Can any one please let me know how I can debug this when triggered from CRM?
    Thanks  in advance.
    Thanks & regards,
    Y Gautham

    Hi,
    I have tried checking the option 'IP MATCHING' option. I have given my user id and also the 'WEBUSER' as well.
    But still I am unable to debug the application.
    Can you please let me know if I am missing anything further.
    Thanks & regards,
    Y Gautham

  • How to call the method of a Business Object?

    Hi,
    Can someone guide me how to call the method of a business object?
    For example, I want to use the method SalesDocument.Copy of the Business Object VBAK. How can I do that? If you are familiar with any similar scenario please help.
    Regards,
    Renjith Michael.

    Hi
    double click on the copy  and
    go to abap tab
    there u can get functionmodule name
    u can call that
    Rewards if helpful

  • Get Results out of inner methods of the returned Object

    Software
    JDK 1.5
    Requirement
    I have specified some Methods of which I want to return the Results.
    Such as
    getName()
    getCode()
    getObjCompany().getName()
    etc
    Now as we can see that we can execute getName() and getCode() method by using java.lang.Class.getMethod("getName",null).invoke(objPerson,null);But we cannot execute getObjCompany().getName() Method directly
    How to go about that
    I mean I want to dynamically execute the method as the user should be able to say the method that they want to execute
    Thanks in advance
    CSJakharia

    Ok, that clarifies things quite a bit. Firstly, I would say that it's very unlikely that reflection is the right way to do this. An inventory application is going to involve a lot of "drilling down" into the specifics of your inventory, but little or no actual smart interaction between those objects.
    This is really something that a database is good at doing - "get me all the widgets used between these two dates". "Get me the item with SKU 123456". And so on.
    If you decide I'm wrong, then the following JSP code may prove useful as an illustration of the reflection, but I really wouldn't recommend doing it this way.
    <%@ page import="java.util.*" %>
    <%@ page import="java.lang.reflect.*" %>
    <html>
    <head>
    <title>Reflective Drill Down</title>
    </head>
    <body>
    <%
       Stack stack = (Stack)session.getAttribute("stack");
       if( stack == null ) {
          stack = new Stack();
          session.setAttribute("stack",stack);
       if( stack.size() == 0 ) {
          stack.add("Four score and seven years ago");
       String message = null;
       Object obj = stack.peek();  
       if( request.getParameter("push") != null ) {  
          try {
         String methodName = request.getParameter("push");
         Method method = obj.getClass().getMethod(methodName,null);
         Object o = method.invoke(obj,null);
         if( o != null ) {     
            obj = o;
            stack.push(obj);
         } else {
            message = "The method returned null";
          } catch( Exception e ) {
               message = "I can't call that method:<br> " + e;
       } else if( request.getParameter("pop") != null ) {
          if( stack.size() > 1 ) stack.pop();
          else message = "You're not allowed to pop the last thing on the stack";
    %>
       <h1>Drill Down</h1>
       <% if( message != null ) { %>
       <p><b>Message:</b> <i><%= message %></i></p>
       <% } %>
       <i><a href="?pop">Pop</a> an object back off the stack</i>
       <p><b><%= obj %></b></p>  
       <p>[
          <%
             Iterator i = stack.iterator();
             while(i.hasNext()) {     
                  Object current = i.next();
          %>
               <%= current %>
               <% if( i.hasNext() ) { %>,<% } else { %>]<br><% } %>
          <%
          %>
          <%
             i = stack.iterator();
             while(i.hasNext()) {     
                  Object current = i.next();
          %>
               <%= current.getClass().getName() %>
               <% if( i.hasNext() ) { %>,<% } else { %>]<% } %>
          <%
          %>
       </p>
          <%
               Class c = obj.getClass();
               Method[] methods = c.getMethods();
               for(int j = 0; j < methods.length; j++ ) {
                  if( ( methods[j].getParameterTypes().length == 0 )
                  &&  (!methods[j].getReturnType().equals(Void.TYPE))
                  &&  (!methods[j].getReturnType().isPrimitive())
                  &&  (!methods[j].getReturnType().isArray())
          %>
               <a href="?push=<%= methods[j].getName() %>"><%= methods[j].getName() %></a> <i><%= methods[j].getReturnType().getName() %></i><br>
          <%
          %>
    </body>
    </html>

  • Searching for the methods applied to each type of object....

    Hi everybody...
    I want to find all the methods applied to each type of object in Swing/AWT java application.....
    for example in a text filed , there is
    jTextField1.setText('test')...
    in a combo box , there is
    jComboBox1.addItem("4")....
    Where can I find all which can be applied...????
    There is a url in on-line help
    http://java.sun.com/products/jfc/tsc/articles/component_gallery/
    which is invalid.....
    Thanks , a lot
    Simon

    Simon,
    all properties you see in the property palette are method calls in the code. So for a quick glance this will do it. Beside of this, there are books out there - e.g. from O'Reilly - that cover all components. If this isn't enough, you can get the JavaDocs from the SUN website
    Frank

  • Implementing the CompareTo(Object T) method of interface Comparable T

    Hi,
    I cannot figure out how to write implementation to compare two objects for the CompareTo method.
    I have an Employee class and a Manager class that inherits Employee and in the main method i want to sort the objects so that i can use the method binarySearch(Object[] a, Object key), originally i sorted each object in order of their salaries but i now need to be able to distinguish between a Manager object and an Employee object.

    demo:
    class Base implements Comparable<Base> {
        private String baseField;
        @Override public int compareTo(Base that) {
            return this.baseField.compareTo(that.baseField);
    class Derived extends Base {
        private String derivedField;
        @Override public int compareTo(Base that) {
            int result = super.compareTo(that);
            if (result == 0 && that instanceof Derived) {
                Derived thatThang = (Derived) that;
                result = this.derivedField.compareTo(thatThang.derivedField);
            return result;
    }Base objects are ordered by baseField. (I assume all fields will be non-null, for simplicity.) Between Derived objects with equal baseField, I order them further by derivedField.
    edit. I should mention that there are headaches that usually follow when you compare objects of different types. Suppose you have three objects:
    obj1, a Derived object with baseField = "b", derivedField = "x"
    obj2, a Base object with baseField = "b"
    obj3, a Derived object with baseField = "b", derivedField = "y"
    according to the compareTo methods, obj1 and obj2 are equal, and as well, obj2 and obj3 are equal, but obj1 and obj3 are not equal, so we do not have transitivity. ;-(

  • The method clone() from the type Object is not visible

    Hi,
    This is my 1st post here for a few years, i have just returned to java.
    I am working through a java gaming book, and the "The method clone() from the type Object is not visible" appears, preventing the program from running. I understand "clone" as making a new copy of an object, allowing multiple different copies to be made.
    The error occurs here
    public Object clone() {
            // use reflection to create the correct subclass
            Constructor constructor = getClass().getConstructors()[0];
            try {
                return constructor.newInstance(new Object[] {
                    (Animation)left.clone(),
                    (Animation)right.clone(),
                    (Animation)deadLeft.clone(),
                    (Animation)deadRight.clone()
            catch (Exception ex) {
                // should never happen
                ex.printStackTrace();
                return null;
        }The whole code for this class is here
    package tilegame.sprites;
    import java.lang.reflect.Constructor;
    import graphics.*;
        A Creature is a Sprite that is affected by gravity and can
        die. It has four Animations: moving left, moving right,
        dying on the left, and dying on the right.
    public abstract class Creature extends Sprite {
            Amount of time to go from STATE_DYING to STATE_DEAD.
        private static final int DIE_TIME = 1000;
        public static final int STATE_NORMAL = 0;
        public static final int STATE_DYING = 1;
        public static final int STATE_DEAD = 2;
        private Animation left;
        private Animation right;
        private Animation deadLeft;
        private Animation deadRight;
        private int state;
        private long stateTime;
            Creates a new Creature with the specified Animations.
        public Creature(Animation left, Animation right,
            Animation deadLeft, Animation deadRight)
            super(right);
            this.left = left;
            this.right = right;
            this.deadLeft = deadLeft;
            this.deadRight = deadRight;
            state = STATE_NORMAL;
        public Object clone() {
            // use reflection to create the correct subclass
            Constructor constructor = getClass().getConstructors()[0];
            try {
                return constructor.newInstance(new Object[] {
                    (Animation)left.clone(),
                    (Animation)right.clone(),
                    (Animation)deadLeft.clone(),
                    (Animation)deadRight.clone()
            catch (Exception ex) {
                // should never happen
                ex.printStackTrace();
                return null;
            Gets the maximum speed of this Creature.
        public float getMaxSpeed() {
            return 0;
            Wakes up the creature when the Creature first appears
            on screen. Normally, the creature starts moving left.
        public void wakeUp() {
            if (getState() == STATE_NORMAL && getVelocityX() == 0) {
                setVelocityX(-getMaxSpeed());
            Gets the state of this Creature. The state is either
            STATE_NORMAL, STATE_DYING, or STATE_DEAD.
        public int getState() {
            return state;
            Sets the state of this Creature to STATE_NORMAL,
            STATE_DYING, or STATE_DEAD.
        public void setState(int state) {
            if (this.state != state) {
                this.state = state;
                stateTime = 0;
                if (state == STATE_DYING) {
                    setVelocityX(0);
                    setVelocityY(0);
            Checks if this creature is alive.
        public boolean isAlive() {
            return (state == STATE_NORMAL);
            Checks if this creature is flying.
        public boolean isFlying() {
            return false;
            Called before update() if the creature collided with a
            tile horizontally.
        public void collideHorizontal() {
            setVelocityX(-getVelocityX());
            Called before update() if the creature collided with a
            tile vertically.
        public void collideVertical() {
            setVelocityY(0);
            Updates the animaton for this creature.
        public void update(long elapsedTime) {
            // select the correct Animation
            Animation newAnim = anim;
            if (getVelocityX() < 0) {
                newAnim = left;
            else if (getVelocityX() > 0) {
                newAnim = right;
            if (state == STATE_DYING && newAnim == left) {
                newAnim = deadLeft;
            else if (state == STATE_DYING && newAnim == right) {
                newAnim = deadRight;
            // update the Animation
            if (anim != newAnim) {
                anim = newAnim;
                anim.start();
            else {
                anim.update(elapsedTime);
            // update to "dead" state
            stateTime += elapsedTime;
            if (state == STATE_DYING && stateTime >= DIE_TIME) {
                setState(STATE_DEAD);
    }Any advice? Is it "protected"? Is the code out-of-date?
    thankyou,
    Lance 28

    Lance28 wrote:
    Any advice? Is it "protected"? Is the code out-of-date?Welcome to the wonderful world of Cloneable. In answer to your first question: Object's clone() method is protected.
    A quote from Josh Bloch's "Effective Java" (Item 10):
    "A class that implements Cloneable is expected to provide a properly functioning public clone() method. It is not, in general, possible to do so unless +all+ of the class's superclasses provide a well-behaved clone implementation, whether public or protected."
    One way to check that would be to see if super.clone() works. Their method uses reflection to try and construct a valid Creature, but it relies on Animation's clone() method, which itself may be faulty. Bloch suggests the following pattern:public Object clone() throws CloneNotSupportedException {
       ThisClass copy = (ThisClass) super.clone();
       // do any additional initialization required...
       return copy
    if that doesn't work, you +may+ be out of luck.
    Another thing to note is that Object's clone() method returns a +shallow+ copy of the original object. If it contains any data structures (eg, Collections or arrays) that point to other objects, you may find that your cloned object is now sharing those with the original.
    Good luck.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Calling methods from the Business Object BUS2032

    Hi all,
    Is it possible to call methods from the Business Object BUS2032.
    If so, how can it be done??
    Regards,

    Hi Marv,
    you sure can. Here is an extract from the SAP Help. I found it at http://help.sap.com/saphelp_46c/helpdata/en/c5/e4ad71453d11d189430000e829fbbd/frameset.htm
    <b>Programmed Method Call</b>
    Call (fictitious) method Print of object type VBAK (sales document). The method receives the parameters Paperformat and Printertype as input.
    * Call method Print of object type VBAK
    * Data declarations
    DATA: VBAK_REF TYPE SWC_OBJECT.
    SWC_CONTAINER CONTAINER.
    * Create object reference to sales document
    SWC_CREATE_OBJECT VBAK_REF 'VBAK' <KeySalesDoc>
    * Fill input parameters
    SWC_CREATE_CONTAINER CONTAINER.
    SWC_SET_ELEMENT CONTAINER 'Paperformat' 'A4'.
    SWC_SET_ELEMENT CONTAINER 'Printertype' 'Lineprinter'.
    * Call Print method
    SWC_CALL_METHOD VBAK_REF 'Print' CONTAINER.
    * Error handling
    IF SY-SUBRC NE 0.
    ENDIF.
    Cheers
    Graham

  • The method creates a new object and initializes it...

    Hello there,
    I just started learn the Java, and can't understand the method declaration in "Parameter Types" example at "[Passing Information to a Method or a Constructor|http://download.oracle.com/javase/tutorial/java/javaOO/arguments.html] " tutorial section.
    public Polygon polygonFrom(Point[] corners) {
    // method body goes here
    Can you explain me please the example above, what does "Polygon polygonFrom" means?
    And can it be " the method creates a new Polygon object and initializes it", isn't it Constructor's and the new operator job?
    Thanks a lot!

    869857 wrote:
    public Polygon polygonFrom(Point[] corners) {
    // method body goes here
    }Can you explain me please the example above, what does "Polygon polygonFrom" means?
    Polygon is the return type of the method polygonForm
    And can it be " the method creates a new Polygon object and initializes it", isn't it Constructor's and the new operator job?We can't say that it is a constructor and new operator job. Because, As the return type is Polygon, the method should return an object of Polygon or null. For that purpose only the method needs to create a new Polygon object and initialize with some values.

  • Multiple static synchronized methods locking the same object ?

    If I have multiple static synchronized methods in a class will all the methods lock on the same (Class) object ? I guess the answer to this would be yes. In that case is it possible achieve synchronization without an object ie code level synchronization ? If yes, how ?

    If I have multiple static synchronized methods in a
    class will all the methods lock on the same (Class)
    object ? I guess the answer to this would be yes. In
    that case is it possible achieve synchronization
    without an object ie code level synchronization ? If
    yes, how ?There is nothing special about static synchronized methods vs. any other synchronization. It's just shorthand for syncing on the Class object for that class. The effects of synchronization are identical no matter what you sync on.
    There's no way to achieve synchronization without an object. Synchronizing always obtains an object's lock. In the case of static synced methods, the object whose lock we obtain is the Class object for that class. As far as syncing goes, it's just another object.
    There is no such thing as "code level synchronization" vs. any other kind. All syncing occurs in your Java code over blocks of code. For synced methods, those blocks are the entire respective method bodies.
    Having said all that, I have no idea what you're really after or what you're trying to achieve.

Maybe you are looking for

  • Condition type freight is not getting displayed in print preview

    Hi, I created PO, and while seeing its print preview: Condition type freight is not getting displayed. Where i missed? Uts

  • How can i properly regain Time Machine HD Space

    i goofed somewhere My time machine exeternal drive is full So i spent ONE HOUR deletely backups,Only keeping Oct 31,Nov 30 and Today so i could regain space for new backups The Time Machine read 111.79GB,45.39GB FREE before i started and reads the sa

  • Email id field

    Hi,     Can you please tell me in which table the email id field will be existing. Regards, Chandu.

  • Not able to start Listener in window 7

    Please help. I installed Oracle 10g (10.2.0). After installation I was able to connect to DB and everything was ruuning smootly. But when I log into my computer, one/two day later: listener was not up and I could not restart it as well. Error Mssg: T

  • Microphone not working on dv9000 since upgrading to Windows 7

    I upgraded from windows vista to windows 7, and now my internal microphone won't work ...  which is irritating as I want skype my kids! I've tried searching for answers on the web and on this forum, but it seems that there's not an obvious answer ...