/*
 * Copyright 2000, University Corporation for Atmospheric Research
 * All Rights Reserved.
 * See file LICENSE for copying and redistribution conditions.
 *
 * $Id: FlatMerger.java,v 1.3 2001-11-27 22:29:35 dglo Exp $
 */

package visad.data.netcdf.in;

import visad.*;


/**
 * Provides support for merging of virtual data objects.  This class maximizes
 * the number of virtual flat-fields by not merging them.  Consequently, this
 * class supports a FileFlatField caching strategy.
 *
 * @author Steven R. Emmerson
 */
public class
FlatMerger
    extends	Merger
{
    /**
     * The singleton instance.
     */
    private static FlatMerger	instance;


    /**
     * Constructs from nothing.
     */
    protected FlatMerger()
    {}


    /**
     * Returns an instance of this class.
     *
     * @return			An instance of this class.
     */
    public static Merger instance()
    {
	if (instance == null)
	{
	    synchronized(FlatMerger.class)
	    {
		if (instance == null)
		    instance = new FlatMerger();
	    }
	}

	return instance;
    }


    /**
     * Does not merge a virtual flat-field with a virtual field.
     *
     * @param field1		The virtual flat-field.
     * @param field2		The virtual field.
     * @return			A virtual field comprising the merger of
     *				the input objects if possible; otherwise 
     *				null.
     * throws VisADException	VisAD failure.
     * @see #merge(VirtualField, VirtualField)
     */
    protected VirtualField merge(VirtualFlatField field1, VirtualField field2)
	throws VisADException
    {
	return null;
    }


    /**
     * Does not merge a virtual flat-field with another virtual flat-field.
     *
     * @param field1		The virtual flat-field.
     * @param field2		The other virtual flat-field.
     * @return			A virtual flat-field comprising the merger of
     *				the input objects if possible; otherwise 
     *				null.  May be field1.
     * throws VisADException	VisAD failure.
     * @see #merge(VirtualFlatField, VirtualFlatField)
     */
    protected VirtualFlatField merge(
	    VirtualFlatField field1, VirtualFlatField field2)
	throws VisADException
    {
	return null;
    }
}

 

Ads help maintain this website.