// Path: arquillian-recorder/arquillian-recorder-api/src/main/java/org/arquillian/extension/recorder/When.java
// public enum When {
// 
//     AFTER("after"),
//     BEFORE("before"),
//     FAILED("failed"),
//     ON_EVERY_ACTION("onEveryAction"),
//     IN_TEST("in_test");
// 
//     private final String name;
// 
//     When(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
// }
// 
// Path: arquillian-recorder-reporter/arquillian-recorder-reporter-spi/src/main/java/org/arquillian/recorder/reporter/PropertyEntry.java
// public abstract class PropertyEntry implements ReportEntry {
// 
//     @XmlTransient
//     private final List<PropertyEntry> propertyEntries = new ArrayList<PropertyEntry>();
// 
//     @Override
//     public List<PropertyEntry> getPropertyEntries() {
//         return propertyEntries;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         PropertyEntry that = (PropertyEntry) o;
// 
//         return propertyEntries.equals(that.propertyEntries);
// 
//     }
// 
//     @Override
//     public int hashCode() {
//         return propertyEntries.hashCode();
//     }
// }
// 
// Path: arquillian-recorder-reporter/arquillian-recorder-reporter-spi/src/main/java/org/arquillian/recorder/reporter/event/InTestResourceReport.java
// public class InTestResourceReport {
// 
// }
// 
// Path: arquillian-recorder-reporter/arquillian-recorder-reporter-spi/src/main/java/org/arquillian/recorder/reporter/event/PropertyReportEvent.java
// public class PropertyReportEvent {
// 
//     private final PropertyEntry propertyEntry;
// 
//     /**
//      *
//      * @param propertyEntry property entry to hook into reporting tree from your extension
//      * @throws IllegalArgumentException if {@code propertyEntry} is a null object
//      */
//     public PropertyReportEvent(PropertyEntry propertyEntry) {
//         Validate.notNull(propertyEntry, "property entry can not be a null object");
//         this.propertyEntry = propertyEntry;
//     }
// 
//     public PropertyEntry getPropertyEntry() {
//         return propertyEntry;
//     }
// }


import org.arquillian.extension.recorder.When;
import org.arquillian.extension.recorder.video.Video;
import org.arquillian.recorder.reporter.PropertyEntry;
import org.arquillian.recorder.reporter.event.InTestResourceReport;
import org.arquillian.recorder.reporter.event.PropertyReportEvent;
import org.arquillian.recorder.reporter.impl.TakenResourceRegister;
import org.jboss.arquillian.core.api.Event;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.core.api.annotation.Observes;
/**
 * JBoss, Home of Professional Open Source
 * Copyright 2014, Red Hat, Inc. and/or its affiliates, and individual
 * contributors by the @authors tag. See the copyright.txt in the
 * distribution for a full listing of individual contributors.
 *
 * 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 org.arquillian.extension.recorder.video.impl;


/**
 * @author <a href="smikloso@redhat.com">Stefan Miklosovic</a>
 *
 */
public class InTestVideoResourceReportObserver {

    @Inject
    private Instance<TakenResourceRegister> takenResourceRegister;

    @Inject
// Path: arquillian-recorder/arquillian-recorder-api/src/main/java/org/arquillian/extension/recorder/When.java
// public enum When {
// 
//     AFTER("after"),
//     BEFORE("before"),
//     FAILED("failed"),
//     ON_EVERY_ACTION("onEveryAction"),
//     IN_TEST("in_test");
// 
//     private final String name;
// 
//     When(String name) {
//         this.name = name;
//     }
// 
//     @Override
//     public String toString() {
//         return name;
//     }
// 
// }
// 
// Path: arquillian-recorder-reporter/arquillian-recorder-reporter-spi/src/main/java/org/arquillian/recorder/reporter/PropertyEntry.java
// public abstract class PropertyEntry implements ReportEntry {
// 
//     @XmlTransient
//     private final List<PropertyEntry> propertyEntries = new ArrayList<PropertyEntry>();
// 
//     @Override
//     public List<PropertyEntry> getPropertyEntries() {
//         return propertyEntries;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
// 
//         PropertyEntry that = (PropertyEntry) o;
// 
//         return propertyEntries.equals(that.propertyEntries);
// 
//     }
// 
//     @Override
//     public int hashCode() {
//         return propertyEntries.hashCode();
//     }
// }
// 
// Path: arquillian-recorder-reporter/arquillian-recorder-reporter-spi/src/main/java/org/arquillian/recorder/reporter/event/InTestResourceReport.java
// public class InTestResourceReport {
// 
// }
// 
// Path: arquillian-recorder-reporter/arquillian-recorder-reporter-spi/src/main/java/org/arquillian/recorder/reporter/event/PropertyReportEvent.java
// public class PropertyReportEvent {
// 
//     private final PropertyEntry propertyEntry;
// 
//     /**
//      *
//      * @param propertyEntry property entry to hook into reporting tree from your extension
//      * @throws IllegalArgumentException if {@code propertyEntry} is a null object
//      */
//     public PropertyReportEvent(PropertyEntry propertyEntry) {
//         Validate.notNull(propertyEntry, "property entry can not be a null object");
//         this.propertyEntry = propertyEntry;
//     }
// 
//     public PropertyEntry getPropertyEntry() {
//         return propertyEntry;
//     }
// }


// Path: arquillian-recorder-video-base/arquillian-recorder-video-impl-base/src/main/java/org/arquillian/extension/recorder/video/impl/InTestVideoResourceReportObserver.java
import org.arquillian.extension.recorder.When;
import org.arquillian.extension.recorder.video.Video;
import org.arquillian.recorder.reporter.PropertyEntry;
import org.arquillian.recorder.reporter.event.InTestResourceReport;
import org.arquillian.recorder.reporter.event.PropertyReportEvent;
import org.arquillian.recorder.reporter.impl.TakenResourceRegister;
import org.jboss.arquillian.core.api.Event;
import org.jboss.arquillian.core.api.Instance;
import org.jboss.arquillian.core.api.annotation.Inject;
import org.jboss.arquillian.core.api.annotation.Observes;

/**
 * JBoss, Home of Professional Open Source
 * Copyright 2014, Red Hat, Inc. and/or its affiliates, and individual
 * contributors by the @authors tag. See the copyright.txt in the
 * distribution for a full listing of individual contributors.
 *
 * 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 org.arquillian.extension.recorder.video.impl;


/**
 * @author <a href="smikloso@redhat.com">Stefan Miklosovic</a>
 *
 */
public class InTestVideoResourceReportObserver {

    @Inject
    private Instance<TakenResourceRegister> takenResourceRegister;

    @Inject
    private Event<PropertyReportEvent> reportEvent;