gov.sandia.cognition.learning.function.kernel
Class DefaultKernelContainer<InputType>

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.learning.function.kernel.DefaultKernelContainer<InputType>
Type Parameters:
InputType - The type of the input to the Kernel. For example, Vector.
All Implemented Interfaces:
KernelContainer<InputType>, CloneableSerializable, Serializable, Cloneable
Direct Known Subclasses:
ExponentialKernel, GaussianProcessRegression, KernelDistanceMetric, KernelPrincipalComponentsAnalysis, KernelPrincipalComponentsAnalysis.Function, KernelScalarFunction, NormalizedKernel, VectorFunctionKernel, WeightedKernel

@CodeReview(reviewer="Kevin R. Dixon",
            date="2009-07-08",
            changesNeeded=false,
            comments={"Made clone call super.clone.","Looks fine otherwise."})
public class DefaultKernelContainer<InputType>
extends AbstractCloneableSerializable
implements KernelContainer<InputType>

The DefaultKernelContainer class implements an object that contains a kernel inside. It is extended by various other classes, including Kernels that contain an internal kernel that is used.

Since:
2.0
Author:
Justin Basilico
See Also:
Serialized Form

Field Summary
protected  Kernel<? super InputType> kernel
          The internal kernel.
 
Constructor Summary
DefaultKernelContainer()
          Creates a new instance of KernelContainer.
DefaultKernelContainer(DefaultKernelContainer<? super InputType> other)
          Creates a new copy of a KernelContainer and the kernel inside.
DefaultKernelContainer(Kernel<? super InputType> kernel)
          Creates a new instance of KernelContainer with the given kernel.
 
Method Summary
 DefaultKernelContainer<InputType> clone()
          This makes public the clone method on the Object class and removes the exception that it throws.
 Kernel<? super InputType> getKernel()
          Gets the internal kernel.
 void setKernel(Kernel<? super InputType> kernel)
          Sets the internal kernel.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

kernel

protected Kernel<? super InputType> kernel
The internal kernel.

Constructor Detail

DefaultKernelContainer

public DefaultKernelContainer()
Creates a new instance of KernelContainer. The kernel defaults to null.


DefaultKernelContainer

public DefaultKernelContainer(Kernel<? super InputType> kernel)
Creates a new instance of KernelContainer with the given kernel.

Parameters:
kernel - The kernel to put in the container.

DefaultKernelContainer

public DefaultKernelContainer(DefaultKernelContainer<? super InputType> other)
Creates a new copy of a KernelContainer and the kernel inside.

Parameters:
other - The KernelContainer to copy.
Method Detail

clone

public DefaultKernelContainer<InputType> clone()
Description copied from class: AbstractCloneableSerializable
This makes public the clone method on the Object class and removes the exception that it throws. Its default behavior is to automatically create a clone of the exact type of object that the clone is called on and to copy all primitives but to keep all references, which means it is a shallow copy. Extensions of this class may want to override this method (but call super.clone() to implement a "smart copy". That is, to target the most common use case for creating a copy of the object. Because of the default behavior being a shallow copy, extending classes only need to handle fields that need to have a deeper copy (or those that need to be reset). Some of the methods in ObjectUtil may be helpful in implementing a custom clone method. Note: The contract of this method is that you must use super.clone() as the basis for your implementation.

Specified by:
clone in interface CloneableSerializable
Overrides:
clone in class AbstractCloneableSerializable
Returns:
A clone of this object.

getKernel

public Kernel<? super InputType> getKernel()
Gets the internal kernel.

Specified by:
getKernel in interface KernelContainer<InputType>
Returns:
The internal kernel.

setKernel

public void setKernel(Kernel<? super InputType> kernel)
Sets the internal kernel.

Parameters:
kernel - The internal kernel.