//////////////////////
 * Copyright (c) 2007-2012, Niclas Hedhman. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied.
 * See the License for the specific language governing permissions
 * and limitations under the License.
//////////////////////

[[ref-core-api, Core API]]
= Zest™ Core API =

The Zest™ Core API is main API that Zest™ developers interact with. In fact, if you need to use classes/interfaces
in the Zest™ Core SPI or Zest™ Core Runtime, then please contact the Zest™ Community and explain your use-case.

The Core API is strictly layered, with no _spaghetti_ cross packages. The package list is fairly long, and
we will look at each one in detail further down.

[width="80%",options="header"]
|=======
| Package       | Brief Description
| association   | Associations between Entities.
| cache         | Unit of Work caching options.
| common        | Various low level annotations, enums and meta types.
| composite     | Main package for Composites
| concern       | Concern fragments.
| configuration | Configuration system, integrated into entity system.
| constraint    | Constraint fragments.
| dataset       | Dataset and Query management.
| entity        | Entity composites.
| event         | System events.
| injection     | Dependency Injection handling.
| json          | JSON parsing and formatting.
| mixin         | Mixin fragments.
| object        | Java Object composition support.
| property      | Property API
| service       | Service composites
| sideeffect    | SideEffect fragments.
| structure     | Application structure types.
| type          | Low level types, mostly internal requirements.
| unitofwork    | Unit of work management.
| usecase       | Use-case type and builder.
| util          | Utility classes
| value         | Value composites.
|=======

