// Path: src/main/java/com/nikhaldimann/viewselector/attributes/ViewSelectionAttribute.java
// public class ViewSelectionAttribute extends ArrayList<Object> {
// 
//     public ViewSelectionAttribute() {
//         super();
//     }
// 
//     public ViewSelectionAttribute(ViewSelection selection, String attributeName) {
//         super();
//         String getterMethodName = ViewAttributes.getGetterMethodName(attributeName);
//         for (View matched : selection) {
//             add(ViewAttributes.callGetterNormalizingStrings(matched, getterMethodName));
//         }
//     }
// 
// }
// 
// Path: src/main/java/com/nikhaldimann/viewselector/selection/ViewSelection.java
// public class ViewSelection extends LinkedHashSet<View> {
// 
// }


import com.nikhaldimann.viewselector.attributes.ViewSelectionAttribute;
import com.nikhaldimann.viewselector.selection.ViewSelection;
package com.nikhaldimann.viewselector;


/**
 * An attribute extractor, generally used via calling
 * {@code ViewSelectorAssertions.extractAttribute(String)}.
 */
public class Attributes {

    private final String attributeName;

    public Attributes(String attributeName) {
        this.attributeName = attributeName;
    }

    /**
     * @param selection the selection to extract attributes from
     * @return extracted attributes ready to make assertions about
     */
// Path: src/main/java/com/nikhaldimann/viewselector/attributes/ViewSelectionAttribute.java
// public class ViewSelectionAttribute extends ArrayList<Object> {
// 
//     public ViewSelectionAttribute() {
//         super();
//     }
// 
//     public ViewSelectionAttribute(ViewSelection selection, String attributeName) {
//         super();
//         String getterMethodName = ViewAttributes.getGetterMethodName(attributeName);
//         for (View matched : selection) {
//             add(ViewAttributes.callGetterNormalizingStrings(matched, getterMethodName));
//         }
//     }
// 
// }
// 
// Path: src/main/java/com/nikhaldimann/viewselector/selection/ViewSelection.java
// public class ViewSelection extends LinkedHashSet<View> {
// 
// }


// Path: src/main/java/com/nikhaldimann/viewselector/Attributes.java
import com.nikhaldimann.viewselector.attributes.ViewSelectionAttribute;
import com.nikhaldimann.viewselector.selection.ViewSelection;

package com.nikhaldimann.viewselector;


/**
 * An attribute extractor, generally used via calling
 * {@code ViewSelectorAssertions.extractAttribute(String)}.
 */
public class Attributes {

    private final String attributeName;

    public Attributes(String attributeName) {
        this.attributeName = attributeName;
    }

    /**
     * @param selection the selection to extract attributes from
     * @return extracted attributes ready to make assertions about
     */
    public ViewSelectionAttribute from(ViewSelection selection) {