com.galenframework.page.PageElement Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of galen-core Show documentation
Show all versions of galen-core Show documentation
A library for layout testing of websites
/*******************************************************************************
* Copyright 2017 Ivan Shubin http://galenframework.com
*
* 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 com.galenframework.page;
public abstract class PageElement {
private int offsetLeft = 0;
private int offsetTop = 0;
private Rect cachedArea = null;
public final Rect getArea() {
if (cachedArea == null) {
cachedArea = this.calculateArea().offset(offsetLeft, offsetTop);
}
return cachedArea;
}
protected abstract Rect calculateArea();
public abstract boolean isPresent();
public abstract boolean isVisible();
public abstract int getWidth();
public abstract int getHeight();
public abstract int getLeft();
public abstract int getTop();
public abstract String getText();
/**
* Should be implemented only for WEB page element
* @param cssPropertyName
* @return
*/
public abstract String getCssProperty(String cssPropertyName);
public int getOffsetLeft() {
return offsetLeft;
}
public void setOffsetLeft(int offsetLeft) {
this.offsetLeft = offsetLeft;
}
public int getOffsetTop() {
return offsetTop;
}
public void setOffsetTop(int offsetTop) {
this.offsetTop = offsetTop;
}
public PageElement withOffset(int offsetLeft, int offsetTop) {
setOffsetLeft(offsetLeft);
setOffsetTop(offsetTop);
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy