Skip to content

Commit 1f67b63

Browse files
committed
Override getType for efficiency in some classes
In many cases, it may be more efficient to delegate getType to a wrapped source
1 parent 7be3635 commit 1f67b63

11 files changed

+61
-1
lines changed

src/main/java/net/imglib2/view/ExtendedRandomAccessibleInterval.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,4 +93,10 @@ public F getSource()
9393
{
9494
return factory;
9595
}
96+
97+
@Override
98+
public T getType() {
99+
// source may have an optimized implementation for getType
100+
return source.getType();
101+
}
96102
}

src/main/java/net/imglib2/view/ExtendedRealRandomAccessibleRealInterval.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,4 +91,10 @@ public F getSource()
9191
{
9292
return factory;
9393
}
94+
95+
@Override
96+
public T getType() {
97+
// source may have an optimized implementation for getType
98+
return source.getType();
99+
}
94100
}

src/main/java/net/imglib2/view/HyperSlice.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,4 +308,10 @@ public RandomAccess< T > randomAccess( Interval interval )
308308
return new HyperSliceRandomAccess();
309309
}
310310

311+
@Override
312+
public T getType() {
313+
// source may have an optimized implementation for getType
314+
return source.getType();
315+
}
316+
311317
}

src/main/java/net/imglib2/view/IntervalView.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,4 +173,10 @@ public Cursor< T > localizingCursor()
173173
{
174174
return getFullViewIterableInterval().localizingCursor();
175175
}
176+
177+
@Override
178+
public T getType() {
179+
// source may have an optimized implementation for getType
180+
return source.getType();
181+
}
176182
}

src/main/java/net/imglib2/view/IterableRandomAccessibleInterval.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,10 @@ public RandomAccess< T > randomAccess( final Interval i )
120120
{
121121
return sourceInterval.randomAccess( i );
122122
}
123+
124+
@Override
125+
public T getType() {
126+
// source may have an optimized implementation for getType
127+
return sourceInterval.getType();
128+
}
123129
}

src/main/java/net/imglib2/view/MixedTransformView.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,10 @@ public RandomAccess< T > randomAccess()
122122
fullViewRandomAccessible = TransformBuilder.getEfficientRandomAccessible( null, this );
123123
return fullViewRandomAccessible.randomAccess();
124124
}
125+
126+
@Override
127+
public T getType() {
128+
// source may have an optimized implementation for getType
129+
return source.getType();
130+
}
125131
}

src/main/java/net/imglib2/view/RandomAccessibleOnRealRandomAccessible.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,10 @@ public RandomAccess< T > randomAccess( final Interval interval )
235235
{
236236
return new RandomAccessOnRealRandomAccessible( source.realRandomAccess( interval ) );
237237
}
238+
239+
@Override
240+
public T getType() {
241+
// source may have an optimized implementation for getType
242+
return source.getType();
243+
}
238244
}

src/main/java/net/imglib2/view/RandomAccessiblePair.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import net.imglib2.Localizable;
3838
import net.imglib2.RandomAccessible;
3939
import net.imglib2.util.Pair;
40+
import net.imglib2.util.ValuePair;
4041

4142
/**
4243
* A {@link RandomAccessible} over two independent
@@ -258,4 +259,10 @@ public RandomAccess randomAccess( final Interval interval )
258259
{
259260
return new RandomAccess();
260261
}
262+
263+
@Override
264+
public Pair<A, B> getType() {
265+
// sources may have an optimized implementation for getType
266+
return new ValuePair<>( sourceA.getType(), sourceB.getType() );
267+
}
261268
}

src/main/java/net/imglib2/view/StackView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public StackAccessMode getStackAccessMode()
166166
{
167167
return stackAccessMode;
168168
}
169-
169+
170170
/**
171171
* A {@link RandomAccess} on a {@link StackView}. It keeps a list of
172172
* {@link RandomAccess}es on all constituent hyper-slices of the

src/main/java/net/imglib2/view/SubsampleView.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,4 +284,10 @@ public long[] getSteps()
284284
{
285285
return steps.clone();
286286
}
287+
288+
@Override
289+
public T getType() {
290+
// source may have an optimized implementation for getType
291+
return source.getType();
292+
}
287293
}

0 commit comments

Comments
 (0)