Newer
Older
NiHao / NiHao / src / nihao / context / StructureItem.java
@xwolf xwolf on 27 Jan 2015 1 KB Initial upload
package nihao.context;

public abstract class StructureItem {
	protected String id;
	boolean singleton = true;
	Context owner;

	public StructureItem(Context owner, String id) {
		this.owner = owner;
		if (id != null)
			id = id.toLowerCase();
		this.id = id;
		owner.fullstructure.add(this);
	}

	/**
	 * Retorna el ID de la estructura
	 * 
	 * @return
	 */
	public String getId() {
		return id;
	}

	/**
	 * True si el elemento es un singleton
	 * 
	 * @return
	 */
	public boolean isSingleton() {
		return singleton;
	}

	/**
	 * Retorna la instancia del objeto reflejado en la estructura
	 * 
	 * @return
	 */
	public abstract Object get();

	/**
	 * Retorna true si el objeto es un singleton por completo (incluidas sus
	 * dependencias)
	 * 
	 * @return
	 */
	public abstract boolean canPreinstantiate();

	/**
	 * Retorna la clase de la instancia reflejada por la estructura
	 * 
	 * @return
	 */
	public abstract Class<?> getStructureClass();

	/**
	 * Realiza ajustes de finalizaci�n, en las estructuras
	 */
	public abstract void commit();
}