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

xy.reflect.ui.info.type.ITypeInfo Maven / Gradle / Ivy

package xy.reflect.ui.info.type;

import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

import xy.reflect.ui.info.IInfo;
import xy.reflect.ui.info.ResourcePath;
import xy.reflect.ui.info.field.IFieldInfo;
import xy.reflect.ui.info.menu.MenuModel;
import xy.reflect.ui.info.method.IMethodInfo;

public interface ITypeInfo extends IInfo {

	boolean canPersist();

	void save(Object object, OutputStream out);

	void load(Object object, InputStream in);

	boolean isImmutable();

	boolean isPrimitive();

	boolean isConcrete();

	List getConstructors();

	List getFields();

	List getMethods();

	boolean supportsInstance(Object object);

	List getPolymorphicInstanceSubTypes();

	String toString(Object object);

	void validate(Object object) throws Exception;

	boolean canCopy(Object object);

	Object copy(Object object);

	boolean isModificationStackAccessible();

	ResourcePath getIconImagePath();

	ITypeInfo.FieldsLayout getFieldsLayout();

	MenuModel getMenuModel();

	enum FieldsLayout {
		VERTICAL_FLOW, HORIZONTAL_FLOW

	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy