All Downloads are FREE. Search and download functionalities are using the official Maven repository.

java.lang.Object Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2011-2014 Fernando Petrola
 * 
 *  This file is part of Dragome SDK.
 * 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v3.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/gpl.html
 ******************************************************************************/
package java.lang;

import com.dragome.commons.javascript.ScriptHelper;

/*
 * Copyright (c) 2005 j2js.com,
 *
 * All Rights Reserved. This work is distributed under the j2js Software License [1]
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.j2js.com/license.txt
 */
public class Object
{
	private static int hashCodeCount= 0;
	private int hashCode;

	public Object()
	{
	}

	public Object clone() throws CloneNotSupportedException
	{
		if (ScriptHelper.evalBoolean("this instanceof Array", this))
			return ScriptHelper.eval("dragomeJs.cloneArray(this)", this);
		else
			return null;
	}

	public boolean equals(Object obj)
	{
		return this == obj;
	}

	public Class getClass()
	{
		String className= (String) ScriptHelper.eval("this.classname", this);
		try
		{
			return Class.forName(className);
		}
		catch (ClassNotFoundException e)
		{
			throw new RuntimeException(e);
		}
	}

	public int hashCode()
	{
		if (hashCode == 0)
			hashCode= ++Object.hashCodeCount;

		return hashCode;
	}

	public void notify()
	{
	}

	public void notifyAll()
	{
	}

	public String toString()
	{
		return getClass().toString() + "@" + hashCode();
	}

	public void wait()
	{
	}
	public void wait(long timeout)
	{
	}
	public void wait(long timeout, int nanos)
	{
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy