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

com.reprezen.genflow.api.source.package-info Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright © 2013, 2016 Modelsolv, Inc.
 * All Rights Reserved.
 *
 * NOTICE: All information contained herein is, and remains the property
 * of ModelSolv, Inc. See the file license.html in the root directory of
 * this project for further information.
 *******************************************************************************/
/**
 * This package provides support for GenTemplate sources. The basic role of a
 * source is to load a source value from a source file. Thus, different sources
 * value types - or different storage representations for the same type -
 * require different source implementations.
 * 

* Sources may also support sub-value extraction, where by substructures * appearing as embedded values in source values can be supplied, based on * various extraction APIs. The only supported extraction API at present is * {@link ISource#extractByType(Object, Class)}, which extracts values of the * supplied type from the supplied source value. Other extraction methods may be * added in the future. *

* The related concept of locators is also supported in this package. A * locator is an object that can be used to create references to substructures * within a source value or - given such a reference - to retrieve the * referenced item from the source value. *

* Classes in this package include: *

*
{@link ISource}
*
Interface for a GenTemplate source. This is a generic type parameterized * by the source value type.
*
{@link AbstractSource}
*
Provides default implementations for some methods of {@link ISource}. An * implementation of {@link ISource#extractByType(Object, Class)} is provided * that handles the easy case in which the supplied type is the value type * itself, in which case the "extracted" value is the entire source value. For * non-source types, method * {@link AbstractSource#extractByNonSourceType(Object, Class)} is provided, * which can be overridden by subclasses that support extraction by types other * than the source type. The default implementation here throws a * {@link com.reprezen.genflow.api.GenerationException}. This is done using a * the method {@link AbstractSource#cantExtractException(Class)}, which is also * introduced by this class and can be used by subclasses.
*
{@link ILocator}
*
Defines an interface for creating and dereferencing locator * references.
*
{@link AbstractLocator}
*
Defines a default implementation of * {@link ILocator#dereference(String, Class)}.
*
* * @author Andy Lowry * */ package com.reprezen.genflow.api.source;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy