package com.jxml.quick.tf;
import com.jxml.quick.*;
import com.jxml.quick.access.*;
import java.util.*;
import java.beans.*;
import java.lang.reflect.*;

public interface QTargetFactory
{
    public Object create(QContext context)
	throws QPE;

    public boolean isInstance(Object object,
			      QContext context)
	throws QPE;

    public String getName(Object object);

    public String getText(Object object, 
			  QContext context)
	throws QPE;

    public void add(Object object, 
		    String name, 
		    String text,
		    QAccess access,
		    Object parent,
		    QTargetFactory parentFactory,
		    QContext context)
	throws QPE;

    public PropertyDescriptor[] getPropertyDescriptors(QContext context)
	throws QPE;

    public Field[] getFields(QContext context)
	throws QPE;
}
