Package org.apache.ws.resource.properties

Source Code of org.apache.ws.resource.properties.SushiCallback

/*=============================================================================*
*  Copyright 2004 The Apache Software Foundation
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*=============================================================================*/
package org.apache.ws.resource.properties;

import org.apache.ws.resource.properties.impl.CallbackFailedException;
import org.apache.ws.util.XmlBeanUtils;
import org.apache.xmlbeans.XmlInt;
import org.apache.xmlbeans.XmlObject;
import javax.xml.namespace.QName;

/**
* @author Sal Campana
*/
public class SushiCallback
   implements SetResourcePropertyCallback
{
   private SushiPlate m_plate;
   private boolean    m_deleteInvoked;
   private boolean    m_insertInvoked;
   private boolean    m_updateInvoked;

   /**
    * Creates a new {@link SushiCallback} object.
    *
    * @param plate DOCUMENT_ME
    */
   public SushiCallback( SushiPlate plate )
   {
      m_plate = plate;
   }

   /**
    * DOCUMENT_ME
    *
    * @return DOCUMENT_ME
    */
   public SushiPlate getPlate(  )
   {
      return m_plate;
   }

   /**
    * DOCUMENT_ME
    *
    * @param propQName DOCUMENT_ME
    *
    * @throws CallbackFailedException DOCUMENT_ME
    */
   public void deleteProperty( QName propQName )
   throws CallbackFailedException
   {
      m_deleteInvoked = true;
   }

   /**
    * DOCUMENT_ME
    *
    * @return DOCUMENT_ME
    */
   public boolean deleteWasInvoked(  )
   {
      return m_deleteInvoked;
   }

   /**
    * DOCUMENT_ME
    *
    * @param prop DOCUMENT_ME
    *
    * @throws CallbackFailedException DOCUMENT_ME
    */
   public void insertProperty( Object[] prop )
   throws CallbackFailedException
   {
      m_insertInvoked = true;
   }

   /**
    * DOCUMENT_ME
    *
    * @return DOCUMENT_ME
    */
   public boolean insertWasInvoked(  )
   {
      return m_insertInvoked;
   }

   /**
    * DOCUMENT_ME
    *
    * @param prop DOCUMENT_ME
    *
    * @return DOCUMENT_ME
    *
    * @throws CallbackFailedException DOCUMENT_ME
    */
   public ResourceProperty refreshProperty( ResourceProperty prop )
   throws CallbackFailedException
   {
      QName propName = getPropName( prop );

      if ( SushiPropertyQNames.EBI.equals( propName ) )
      {
         Ebi    ebi    = m_plate.getEbi(  );
         String pieces = ebi.getNumberOfPieces(  );
         try
         {
            XmlInt ebiElem = (XmlInt) prop.get( 0 );
            XmlBeanUtils.setValue( ebiElem, pieces );
         }
         catch ( Exception e )
         {
            e.printStackTrace(  );
         }
      }

      return prop;
   }

   /**
    * DOCUMENT_ME
    *
    * @param prop DOCUMENT_ME
    *
    * @throws CallbackFailedException DOCUMENT_ME
    */
   public void updateProperty( Object[] prop )
   throws CallbackFailedException
   {
      m_updateInvoked = true;
      Object o = prop[0];
      if ( o instanceof XmlObject )
      {
         XmlObject xmlObject = (XmlObject) o;
         QName     name = XmlBeanUtils.getName( xmlObject );
         if ( name.getLocalPart(  ).equals( "Ebi" ) )
         {
            m_plate.getEbi(  ).setNumberOfPieces( XmlBeanUtils.getValue( xmlObject ) );
         }
      }
   }

   /**
    * DOCUMENT_ME
    *
    * @return DOCUMENT_ME
    */
   public boolean updateWasInvoked(  )
   {
      return m_updateInvoked;
   }

   private QName getPropName( ResourceProperty prop )
   {
      return prop.getMetaData(  ).getName(  );
   }
}
TOP

Related Classes of org.apache.ws.resource.properties.SushiCallback

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.