ADAM_2.12: Core 0.33.0 API < Back
 

# Packages

-  package root
  Definition Classes
    root
-  package org
  Definition Classes
    root
-  package bdgenomics
  Definition Classes
    org
-  package adam
  Definition Classes
    bdgenomics
-  package projections
  Definition Classes
    adam
- AlignmentField
- DbxrefField
- FeatureField
- FieldEnumeration
- FieldValue
- Filter
- FragmentField
- GenotypeField
- OntologyTermField
- Projection
- ReadField
- ReadGroupField
- ReferenceField
- SampleField
- SequenceField
- SliceField
- TranscriptEffectField
- VariantAnnotationField
- VariantCallingAnnotationsField
- VariantField

t

org.bdgenomics.adam.projections

# FieldValue 

###

#### trait FieldValue extends AnyRef

The FieldValue trait (and its sister abstract class, FieldEnumeration) are meant to help clean up the use of Projection when dealing with field enumeration classes like ADAMRecordField.

Projection is a class for turning fields from an Enumeration into a projected Avro Schema object.

In the old way of doing this, we used a "normal" Enumeration. Projection would receive a collection of Read.Value objects, and use their names (plus the Read.SCHEMA$ static field) to turn them into a Schema for ADAMRecords. This worked fine for Read, and not at all for generalizing to other Schemas over other field enumerations.

In the new system, we embed the Avro Schema object as an argument *in* each enumeration Value. We do this in two steps: (1) instead of ADAMRecordField (e.g.) extending Enumeration, it extends FieldEnumeration and provides the appropriate (static) Schema object as an argument. (2) instead of using the (final, non-overrideable) Value method within Enumeration to provide each enum value, it calls FieldEnumeration.SchemaValue instead, which embeds the corresponding Schema in each value.

Finally, Projection will extract the Schema value from the first FieldValue that is given to it and produce the corresponding (projected) Schema.

This means, of course, that Projection can't handle empty field lists -- but that was always going to be an error-filled edge-case anyway (why would you want to project to zero fields?)

Linear Supertypes
AnyRef, Any
Known Subclasses
SchemaVal
 
Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. FieldValue
2. AnyRef
3. Any

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Abstract Value Members

1.  abstract def schema: Schema

### Concrete Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##(): Int
   Definition Classes
     AnyRef → Any
3.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
4.  final def asInstanceOf[T0]: T0
   Definition Classes
     Any
5.  def clone(): AnyRef
   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @native() @throws( ... )
6.  final def eq(arg0: AnyRef): Boolean
   Definition Classes
     AnyRef
7.  def equals(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
8.  def finalize(): Unit
   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( classOf[java.lang.Throwable] )
9.  final def getClass(): Class[_]
   Definition Classes
     AnyRef → Any
   Annotations
     @native()
10.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
11.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
12.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
13.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
14.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
15.  final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
      AnyRef
16.  def toString(): String
    Definition Classes
      AnyRef → Any
17.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
18.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )
19.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @native() @throws( ... )

### Inherited from AnyRef

### Inherited from Any

### Ungrouped