/* * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Bogdan Stefanescu * Florent Guillaume */ package org.eclipse.ecr.core.schema; import org.eclipse.ecr.core.schema.types.CompositeType; import org.eclipse.ecr.core.schema.types.Schema; import org.eclipse.ecr.core.schema.types.Type; /** * A provider of types (property types, schemas, document types, facets). */ public interface TypeProvider { /** Low level generic type lookup. */ Type getType(String schema, String name); /** Gets a property type. */ Type getType(String name); /** Gets the list of property types. */ Type[] getTypes(); /** Gets a schema. */ Schema getSchema(String schema); /** Gets the list of schemas. */ Schema[] getSchemas(); /** Gets a document type. */ DocumentType getDocumentType(String docType); /** Gets the list of document types. */ DocumentType[] getDocumentTypes(); /** Gets a facet. */ CompositeType getFacet(String name); /** Gets the list of facets. */ CompositeType[] getFacets(); }