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

org.jsimpledb.schema.SchemaFieldSwitchAdapter 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.

The newest version!

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

package org.jsimpledb.schema;

/**
 * Adapter class for {@link SchemaFieldSwitch}.
 *
 * @param  switch method return type
 */
public class SchemaFieldSwitchAdapter implements SchemaFieldSwitch {

    /**
     * Handle a {@link SetSchemaField}.
     *
     * 

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to * {@link #caseCollectionSchemaField caseCollectionSchemaField()}. */ @Override public R caseSetSchemaField(SetSchemaField field) { return this.caseCollectionSchemaField(field); } /** * Handle a {@link ListSchemaField}. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to * {@link #caseCollectionSchemaField caseCollectionSchemaField()}. */ @Override public R caseListSchemaField(ListSchemaField field) { return this.caseCollectionSchemaField(field); } /** * Handle a {@link MapSchemaField}. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to * {@link #caseComplexSchemaField caseComplexSchemaField()}. */ @Override public R caseMapSchemaField(MapSchemaField field) { return this.caseComplexSchemaField(field); } /** * Handle a {@link SimpleSchemaField}. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to * {@link #caseDefault caseDefault()}. */ @Override public R caseSimpleSchemaField(SimpleSchemaField field) { return this.caseDefault(field); } /** * Handle a {@link ReferenceSchemaField}. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to * {@link #caseSimpleSchemaField caseSimpleSchemaField()}. */ @Override public R caseReferenceSchemaField(ReferenceSchemaField field) { return this.caseSimpleSchemaField(field); } /** * Handle a {@link EnumSchemaField}. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to * {@link #caseSimpleSchemaField caseSimpleSchemaField()}. */ @Override public R caseEnumSchemaField(EnumSchemaField field) { return this.caseSimpleSchemaField(field); } /** * Handle a {@link CounterSchemaField}. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to {@link #caseDefault caseDefault()}. */ @Override public R caseCounterSchemaField(CounterSchemaField field) { return this.caseDefault(field); } /** * Adapter class roll-up method. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to {@link #caseComplexSchemaField caseComplexSchemaField()}. * * @param field visiting field * @return visitor return value */ protected R caseCollectionSchemaField(CollectionSchemaField field) { return this.caseComplexSchemaField(field); } /** * Adapter class roll-up method. * *

* The implementation in {@link SchemaFieldSwitchAdapter} delegates to {@link #caseDefault caseDefault()}. * * @param field visiting field * @return visitor return value */ protected R caseComplexSchemaField(ComplexSchemaField field) { return this.caseDefault(field); } /** * Adapter class roll-up method. * *

* The implementation in {@link SchemaFieldSwitchAdapter} always throws {@link UnsupportedOperationException}. * * @param field visiting field * @return visitor return value */ protected R caseDefault(SchemaField field) { throw new UnsupportedOperationException("field type not handled: " + field); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy