All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jsimpledb.schema.SchemaFieldSwitch Maven / Gradle / Ivy

Go to download

JSimpleDB core API classes which provide objects, fields, indexes, queries, and schema management on top of a key/value store.

There is a newer version: 3.6.1
Show newest version

/*
 * Copyright (C) 2015 Archie L. Cobbs. All rights reserved.
 */

package org.jsimpledb.schema;

/**
 * Visitor pattern interface for {@link SchemaField}s.
 *
 * @param  switch method return type
 * @see SchemaField#visit
 */
public interface SchemaFieldSwitch {

    /**
     * Handle a {@link SetSchemaField}.
     *
     * @param field visiting field
     * @return visitor return value
     */
    R caseSetSchemaField(SetSchemaField field);

    /**
     * Handle a {@link ListSchemaField}.
     *
     * @param field visiting field
     * @return visitor return value
     */
    R caseListSchemaField(ListSchemaField field);

    /**
     * Handle a {@link MapSchemaField}.
     *
     * @param field visiting field
     * @return visitor return value
     */
    R caseMapSchemaField(MapSchemaField field);

    /**
     * Handle a {@link SimpleSchemaField}.
     *
     * @param field visiting field
     * @return visitor return value
     */
    R caseSimpleSchemaField(SimpleSchemaField field);

    /**
     * Handle a {@link ReferenceSchemaField}.
     *
     * @param field visiting field
     * @return visitor return value
     */
    R caseReferenceSchemaField(ReferenceSchemaField field);

    /**
     * Handle a {@link EnumSchemaField}.
     *
     * @param field visiting field
     * @return visitor return value
     */
    R caseEnumSchemaField(EnumSchemaField field);

    /**
     * Handle a {@link CounterSchemaField}.
     *
     * @param field visiting field
     * @return visitor return value
     */
    R caseCounterSchemaField(CounterSchemaField field);
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy