// Path: src/main/java/ru/colibri/ui/core/fields/IElement.java
// public interface IElement {
//     String getName();
// 
//     String getContentDesc();
// 
//     String getId();
// 
//     String getText();
// 
//     String getXpath();
// 
//     String getNSPredicate();
// 
//     boolean isSpecific();
// }


import lombok.EqualsAndHashCode;
import lombok.ToString;
import ru.colibri.ui.core.fields.IElement;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
package ru.colibri.ui.core.pages;



@ToString
@EqualsAndHashCode
public class Page implements IPage {
    private String systemId;
    private String name;
    private Map<String, IElement> elements = new HashMap<>();

    public Page(String name, String systemId) {
        this.systemId = systemId;
        this.name = name;
    }

    @Override
    public void addElement(IElement element) {
        elements.put(elementNameToKey(element.getName()), element);
    }

    @Override
    public IElement getElementByName(String name) {
        return elements.get(elementNameToKey(name));
    }

    @Override
    public List<IElement> getSpecificElements() {
// Path: src/main/java/ru/colibri/ui/core/fields/IElement.java
// public interface IElement {
//     String getName();
// 
//     String getContentDesc();
// 
//     String getId();
// 
//     String getText();
// 
//     String getXpath();
// 
//     String getNSPredicate();
// 
//     boolean isSpecific();
// }


// Path: src/main/java/ru/colibri/ui/core/pages/Page.java
import lombok.EqualsAndHashCode;
import lombok.ToString;
import ru.colibri.ui.core.fields.IElement;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

package ru.colibri.ui.core.pages;



@ToString
@EqualsAndHashCode
public class Page implements IPage {
    private String systemId;
    private String name;
    private Map<String, IElement> elements = new HashMap<>();

    public Page(String name, String systemId) {
        this.systemId = systemId;
        this.name = name;
    }

    @Override
    public void addElement(IElement element) {
        elements.put(elementNameToKey(element.getName()), element);
    }

    @Override
    public IElement getElementByName(String name) {
        return elements.get(elementNameToKey(name));
    }

    @Override
    public List<IElement> getSpecificElements() {
        return elements.entrySet().stream()