Factory for proxy objects which project BioJava features into alternate coordinate systems.

Namespace:  BioSharp.Core.Bio.Seq.Projection
Assembly:  BioSharp.Core (in BioSharp.Core.dll) Version: 0.1.3191.26120 (


public class ProjectionEngine


This class binds together a feature and a ProjectionContext object, and returns the resulting projected feature. New feature-projection wrapper classes are generated automatically as they are required.

Don't use this class directly. This class contains deep voodoo code. Run away while you still can.

You may find that for some bizaare reason you need to manually project a feature through a ProjectionContext. You should be using @link ProjectionContext.projectFeature(). If this is not practical for some reason, use this class. However, this probably indicates that you are doing something mad.

Projected feature classes will be named as BioSharp.Core.Bio.Seq.Projection.{$ctxt}.{$feat} where $ctxt and $feat are the full class names of the context and feature respectively with each "." character replaced with "_".

Delegate into this from your ProjectionContext to do the dirty work of actually projecting features from the underlying data. This factory generate a new class that is unique to the combination of your projection context and the Feature interface that the projected feature implements. Then, it will instantiate that class with your context and the underlying feature. The returned feature will currently be an implementation of the package-private class BioSharp.Core.Bio.Seq.Projection.ProjectedFeature, but this is implementation detail and should not be relied upon.

Original BioJava version by Thomas Down. Port to C# by Doug Swisher.

Inheritance Hierarchy


See Also