Home » geronimo-2.2-source-release » org.apache.geronimo.gbean.runtime » [javadoc | source]

    1   /**
    2    *  Licensed to the Apache Software Foundation (ASF) under one or more
    3    *  contributor license agreements.  See the NOTICE file distributed with
    4    *  this work for additional information regarding copyright ownership.
    5    *  The ASF licenses this file to You under the Apache License, Version 2.0
    6    *  (the "License"); you may not use this file except in compliance with
    7    *  the License.  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
   10    *
   11    *  Unless required by applicable law or agreed to in writing, software
   12    *  distributed under the License is distributed on an "AS IS" BASIS,
   13    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    *  See the License for the specific language governing permissions and
   15    *  limitations under the License.
   16    */
   17   package org.apache.geronimo.gbean.runtime;
   18   
   19   import java.util.Map;
   20   
   21   /**
   22    * The raw invoker provides a raw (fast) access invoke operations, get attribute values, and set
   23    * attribute values on a GBean.  This class should only be use by GBean proxy generators or carefully
   24    * crafted container code, because this class maintains a hard reference to a gbeanInstance which has a huge
   25    * potential for memory leaks.  USE WITH CAUTION
   26    *
   27    * @version $Rev: 476049 $ $Date: 2006-11-16 20:35:17 -0800 (Thu, 16 Nov 2006) $
   28    */
   29   public final class RawInvoker {
   30       private final GBeanInstance gbeanInstance;
   31       private final Map attributeIndex;
   32       private final Map operationIndex;
   33   
   34       public RawInvoker(GBeanInstance gbean) {
   35           this.gbeanInstance = gbean;
   36           attributeIndex = gbean.getAttributeIndex();
   37           operationIndex = gbean.getOperationIndex();
   38       }
   39   
   40       public Map getAttributeIndex() {
   41           return attributeIndex;
   42       }
   43   
   44       public Map getOperationIndex() {
   45           return operationIndex;
   46       }
   47   
   48       public Object getAttribute(final int index) throws Exception {
   49           return gbeanInstance.getAttribute(index);
   50       }
   51   
   52       public void setAttribute(final int index, final Object value) throws Exception {
   53           gbeanInstance.setAttribute(index, value);
   54       }
   55   
   56       public Object invoke(final int index, final Object[] args) throws Exception {
   57           return gbeanInstance.invoke(index, args);
   58       }
   59   }

Home » geronimo-2.2-source-release » org.apache.geronimo.gbean.runtime » [javadoc | source]