Package org.jdbf.engine.basic

Source Code of org.jdbf.engine.basic.ObjectMapped

/*
* 03/07/2002 - 22:56:11
*
* $RCSfile: ObjectMapped.java,v $ - JDBF Object Relational mapping system
*
* http://jdbf.sourceforge.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

/*

  $Id: ObjectMapped.java,v 1.13 2004/05/20 22:36:01 gmartone Exp $

*/

package org.jdbf.engine.basic;

import java.lang.reflect.*;


import org.jdbf.engine.reflection.ReflectionManager;
import org.jdbf.engine.xml.Marshaller;
import org.jdbf.engine.xml.Unmarshaller;
import org.jdbf.engine.xml.MarshallException;
import org.jdbf.engine.xml.UnmarshallException;

/**
* <code>ObjectMapped</code> is the superclass of Java objects that are mapped on
* the repository.
*
* @author Giovanni Martone<br>
* @version $Id: ObjectMapped.java,v 1.13 2004/05/20 22:36:01 gmartone Exp $ $Date: 2004/05/20 22:36:01 $<br>
* last changed by $Author $
*
*/
public class ObjectMapped{
 
    /** className */
    protected String className;

    /** name of repository */
    protected String repositoryViewName;

    /** object identifier */
    protected Object OID;
 
 
    public ObjectMapped(){
        className = getClass().getName();
    }


    /**
     * Create the object.
     *
     */
    public ObjectMapped(String repositoryName){
    className = getClass().getName();
    repositoryViewName = repositoryName;
    }
 
 
    /**
     * Return the className
     * @return the className
     *
     */
  public String getClassName(){
    return className;
  }


  /**
   * Return the object identifier
     *
     * @return Object
     *
     */
    public final Object getOID(){
        return OID;
    }


    /**
     * Return the name of repository view where it is mapped
     * @return the repositoryViewName
     *
     */
  public String getRepositoryViewName(){
        return repositoryViewName;
  }


    /**
     * Set the object id.
     *
     * @param oid object id  
     *
     */
  public final void setOID(Object oid){
      OID = oid;
    }

  
   /**
    * Set the name of repository view where it is mapped
    *
    * @param repositoryName
    *
    */
    public void setRepositoryViewName(String repositoryName){
    repositoryViewName = repositoryName;
    }
 
     
    /**
     * Return the object as String
     *
     * @return String
     *
     */
    public String toString(){
    StringBuffer buff = new StringBuffer();
    try{     
      buff.append("[").append(className).append(":")
          .append("OID=").append(OID).append(" ");       
      Class c = Class.forName(className);
      Field[] fields = c.getDeclaredFields();
      for(int i = 0; i < fields.length; i++){       
        buff.append(fields[i].getName()).append("=")
                  .append(ReflectionManager.getValueByName(this,
          fields[i].getName())).append(" ");
      }
      buff.append("]");
     
    }
    catch(Exception e){
      e.printStackTrace();
    }
    return buff.toString();   
    }
   
   
    /**
     * Return the XML representation of object as String
     *
     * @return the XML representation of object as String
     *
     */
    public String marshall() throws MarshallException{
      Marshaller marshaller = new Marshaller();
      return marshaller.getMarshallString(this);
    }
   
   
   /**
    * Return a ObjectMapped object from a String xml representation
    *
    * @param xml representation
    * @return a ObjectMapped object from a String xml representation
    *
    */
   
    public static ObjectMapped unmarshall(String xml)
      throws UnmarshallException{
     
      Unmarshaller unmarshaller = new Unmarshaller();
      return unmarshaller.getUnmarshallObject(xml);
    }
}

/*

$Log: ObjectMapped.java,v $
Revision 1.13  2004/05/20 22:36:01  gmartone
Changed for task 99073 (Coverage Javadocs)

Revision 1.12  2004/05/18 17:53:36  gmartone
adding property OID in toString() method

Revision 1.11  2004/01/25 11:32:54  gmartone
added throw of MarshallException in signature of marshall methods

Revision 1.5  2003/11/15 16:45:15  lechertl
task 88931, update to SAX 2 ready


*/
TOP

Related Classes of org.jdbf.engine.basic.ObjectMapped

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.