// Copyright 2012 Georg-August-Universität Göttingen, Germany // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package de.ugoe.cs.autoquest.plugin.android.guimodel; import java.util.List; import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec; /** *
* Implements the specification of {@link IGUIElement} for {@link ANDROIDGUIElement}s. *
* * @version 1.0 * @author Florian Unger */ public class ANDROIDGUIElementSpec implements IGUIElementSpec { /** ** default serial version UID *
*/ private static final long serialVersionUID = 1L; /* * (non-Javadoc) see de.ugoe.cs.autoquest.androidmonitor.AndroidmonitorLogFile#logComponent() */ /** ** Hash code of the GUI element. Used as unique identifier during parsing a log file. Note that * it is possible that the hash code of an element changes over several log files even if they * come from the same target. *
*/ private int hashCode; /** ** Path to an element in an activity. e.g. a path of a button could look like * MainActivity/DecorView/ActionBarOverlayLayout/FrameLayout/ RelativeLayout/Button *
*/ private String path; /** ** id of the object as it is returned by view.getId() *
*/ private int index; /** ** the type of GUI element represented by this specification, which is usually the java class of * the android GUI element *
*/ private String type; /** ** Type hierarchy of the class itself *
*/ private List* Returns the path associated with the specified GUI element. *
* * @return the path to an element */ public String getPath() { return path; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } /** * Set the hash code associated with the GUI element. * * @param hash * the hash of an element object */ public void setHashCode(int hash) { this.hashCode = hash; } /** * Set the path associated with the specified GUI element. * * @param path * the path to an element */ public void setPath(String path) { this.path = path; } /** ** Sets the type of the specified GUI element. *
* * @param type * the type */ public void setType(String type) { this.type = type; } /** ** Sets the type hierarchy of the specified GUI element. * * @param typeHierarchy *
*/ public void setTypeHierarchy(List