# -*- coding: utf-8 -*-

"""
shelldatareportingapis

This file was automatically generated by APIMATIC v3.0 (
 https://www.apimatic.io ).
"""

from apimatic_core.types.union_types.leaf_type import LeafType
from apimatic_core.types.union_types.one_of import OneOf
from apimatic_core.types.union_types.union_type_context import UnionTypeContext as Context
from shelldatareportingapis.models.priced_transaction_items_location_items import PricedTransactionItemsLocationItems


class UnionTypeLookUp:

    """The `UnionTypeLookUp` class serves as a utility class for 
    storing and managing type combinator templates.It acts as a container for the templates 
    used in handling various data types within the application.

    """
    _templates = {
        'PricedTransactionResponseTransactionsItemsLocation': OneOf(
            [
                LeafType(object,
                         Context.create(
                             is_nullable=True
                         )),
                LeafType(PricedTransactionItemsLocationItems)
            ],
            Context.create(
               is_array=True,
               is_optional=True
            )
        )
    }

    @staticmethod
    def get(name):
        return UnionTypeLookUp._templates[name]

