package it.slumdroid.utilities.module.androidtest.efg;
import it.slumdroid.droidmodels.model.UserEvent;
import it.slumdroid.droidmodels.model.WidgetAdapter;
import it.slumdroid.droidmodels.model.WidgetState;
import it.slumdroid.droidmodels.model.WrapperInterface;
import it.slumdroid.droidmodels.xml.ElementWrapper;
import it.slumdroid.droidmodels.xml.NodeListWrapper;
import it.slumdroid.droidmodels.xml.XmlGraph;
import java.util.Iterator;
import org.w3c.dom.Element;
// TODO: Auto-generated Javadoc
/**
* The Class EfgEvent.
*/
public class EfgEvent extends ElementWrapper implements UserEvent, Iterable<EfgEvent> {
/**
* Instantiates a new efg event.
*/
public EfgEvent() {
super();
}
/**
* Instantiates a new efg event.
*
* @param element the element
*/
public EfgEvent(Element element) {
super(element);
}
/**
* Instantiates a new efg event.
*
* @param graph the graph
*/
public EfgEvent(XmlGraph graph) {
super(graph, "EVENT");
}
/**
* Instantiates a new efg event.
*
* @param graph the graph
* @param event the event
*/
private EfgEvent(XmlGraph graph, UserEvent event) {
this(graph);
if (!event.getType().equals("")) {
setType(event.getType());
}
if (!event.getValue().equals("")) {
setValue(event.getValue());
}
setWidget(event.getWidget());
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.WrapperInterface#getWrapper(org.w3c.dom.Element)
*/
public WrapperInterface getWrapper(Element element) {
return new EfgEvent (element);
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#getType()
*/
public String getType() {
return getElement().getAttribute("type");
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#setType(java.lang.String)
*/
public void setType(String type) {
getElement().setAttribute("type", type);
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#getValue()
*/
public String getValue() {
return getElement().getAttribute("value");
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#setValue(java.lang.String)
*/
public void setValue(String value) {
getElement().setAttribute("value", value);
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserEvent#getWidget()
*/
public WidgetState getWidget() {
return new WidgetAdapter () {
public String getId() {
return getWidgetId();
}
public String getName() {
return getWidgetName();
}
public String getType() {
return getWidgetType();
}
public void setId(String id) {
setWidgetId(id);
}
public void setName(String name) {
setWidgetName(name);
}
public void setType(String type) {
setWidgetType(type);
}
};
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserEvent#setWidget(it.slumdroid.droidmodels.model.WidgetState)
*/
public void setWidget(WidgetState widget) {
if (!widget.getName().equals("")) {
setWidgetName (widget.getName());
}
if (!widget.getId().equals("")) {
setWidgetId (widget.getId());
}
if (!widget.getType().equals("")) {
setWidgetType (widget.getType());
}
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserEvent#getWidgetName()
*/
public String getWidgetName() {
return getElement().getAttribute("widget_name");
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserEvent#setWidgetName(java.lang.String)
*/
public void setWidgetName(String name) {
getElement().setAttribute("widget_name", name);
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserEvent#getWidgetType()
*/
public String getWidgetType() {
return getElement().getAttribute("widget_type");
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserEvent#setWidgetType(java.lang.String)
*/
public void setWidgetType(String type) {
getElement().setAttribute("widget_type", type);
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#getWidgetId()
*/
public String getWidgetId() {
return getElement().getAttribute("widget_id");
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#setWidgetId(java.lang.String)
*/
public void setWidgetId(String id) {
getElement().setAttribute("widget_id", id);
}
/* (non-Javadoc)
* @see java.lang.Iterable#iterator()
*/
public Iterator<EfgEvent> iterator() {
return new NodeListWrapper<EfgEvent>(this, new EfgEvent());
}
/**
* Equals.
*
* @param event the event
* @return true, if successful
*/
public boolean equals(UserEvent event) {
return event.getType().equals(this.getType()) && event.getWidgetId().equals(this.getWidgetId()) && event.getValue().equals(this.getValue());
}
/**
* From user event.
*
* @param graph the graph
* @param event the event
* @return the efg event
*/
public static EfgEvent fromUserEvent(XmlGraph graph, UserEvent event) {
return new EfgEvent(graph, event);
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#setId(java.lang.String)
*/
public void setId(String id) {
getElement().setAttribute("id", id);
}
/* (non-Javadoc)
* @see it.slumdroid.droidmodels.model.UserInteraction#getId()
*/
public String getId() {
return getElement().getAttribute("id");
}
}