blob: e304a51da68b158be8d45bbbc72c4aaa70c59444 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jem.internal.instantiation.base;
/*
*/
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jem.internal.instantiation.JavaAllocation;
import org.eclipse.jem.internal.java.instantiation.IInstantiationInstance;
/**
* A common interface for Java instances. It will be
* shared by Java Objects and Java DataType instances.
*/
public interface IJavaInstance extends EObject, FeatureValueProvider, IInstantiationInstance {
/**
* Get the allocation object.
* @return The allocation object.
*/
public JavaAllocation getAllocation();
/**
* Set the allocation for this object instance.
* @param allocation
*/
public void setAllocation(JavaAllocation allocation);
/**
* Return whether the allocation has been set or not.
* @return <code>true</code> if set.
*/
public boolean isSetAllocation();
/**
* Answer true if we are an instance of one of Java's primitive data types.
* e.g. boolean, char - true otherwise, e.g. java.lang.Boolean
*/
public boolean isPrimitive();
/**
* Answer whether this has an implicit allocation.
* @return <code>true</code> if implicit allocation. <code>false</code> if not set or not implicit.
*
* @since 1.2.0
*/
public boolean isImplicitAllocation();
/**
* Answer whether this has an parsetree allocation.
* @return <code>true</code> if parsetree allocation. <code>false</code> if not set or not parsetree.
*
* @since 1.2.0
*/
public boolean isParseTreeAllocation();
}