package net.imagej.ops.viewOp;

import net.imagej.ops.Computer;
import net.imagej.ops.ViewOps.View;

public interface DefaultView<I, O> extends View, Computer<I, O> {
	// NB: Marker interface
}

@@ -47,24 +47,28 @@
 gej.ops.
-Computer
+view.ViewOps
 ;%0Aimport
@@ -83,16 +83,21 @@
 gej.ops.
+view.
 ViewOps.
@@ -106,25 +106,316 @@
 ew;%0A
-%0Apublic interface
+import net.imglib2.Interval;%0Aimport net.imglib2.RandomAccessible;%0Aimport net.imglib2.view.IntervalView;%0Aimport net.imglib2.view.Views;%0A%0Aimport org.scijava.ItemIO;%0Aimport org.scijava.plugin.Parameter;%0Aimport org.scijava.plugin.Plugin;%0A%0A@Plugin(type = ViewOps.View.class, name = ViewOps.View.NAME)%0Apublic class
  Def
@@ -427,68 +427,326 @@
 iew%3C
-I, O%3E 
+T%3E%0A%09%09
 extends
- View, Computer%3CI, O%3E %7B%0A%09// NB: Marker interface
+%0A%09%09AbstractView%3CRandomAccessible%3C T %3E, IntervalView%3C T %3E%3E%0A%09%09implements%0A%09%09View%3CRandomAccessible%3C T %3E, IntervalView%3C T %3E%3E %7B%0A%0A%09@Parameter(type = ItemIO.INPUT)%0A%09private Interval interval;%0A%09%0A%09@Override%0A%09public IntervalView%3C T %3E compute(RandomAccessible%3C T %3E input) %7B%0A%09%09return Views.interval(input, interval);%0A%09%7D%0A
 %0A%7D%0A

Add default implementation of View interface.