/* * Chrysalix * See the COPYRIGHT.txt file distributed with this work for information * regarding copyright ownership. Some portions may be licensed * to Red Hat, Inc. under one or more contributor license agreements. * See the AUTHORS.txt file in the distribution for a full listing of * individual contributors. * * Chrysalix is free software. Unless otherwise indicated, all code in Chrysalix * is licensed to you under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * Chrysalix is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.modelspace; /** * The lexicon of the modelspace. */ public interface ModelspaceLexicon { /** * The Modelspace namespace prefix. Value is {@value} . */ String NAMESPACE_PREFIX = "mm"; /** * The node type name whose children are all metamodel categories. */ String METAMODEL_CATEGORIES = NAMESPACE_PREFIX + ":metamodelCategories"; /** * the system workspace property containing the registered metamodel repositories */ String METAMODEL_REPOSITORIES = NAMESPACE_PREFIX + ":metamodelRepositories"; /** * Temporary workspace folder */ String TEMP_FOLDER = NAMESPACE_PREFIX + ":temp"; /** * The mixin for the node where model nodes can be added to. */ String UNSTRUCTURED_MIXIN = NAMESPACE_PREFIX + ":unstructured"; /** * JCR names related to a model dependency. */ interface Dependency { /** * The node type name of a dependency node. */ String DEPENDENCY = NAMESPACE_PREFIX + ":dependency"; /** * The name of a dependency node's derived path property. */ String PATH = NAMESPACE_PREFIX + ":path"; /** * The name of a dependency node's source reference property. */ String SOURCE_REFERENCE_PROPERTY = NAMESPACE_PREFIX + ":sourceReference"; } /** * JCR names related to a metamodel. */ interface Metamodel { /** * The node type name of a category. */ String NODE_TYPE = NAMESPACE_PREFIX + ":metamodel"; /** * The name of the property whose value is the class name of the metamodel's importer. */ String IMPORTER_CLASS_NAME = NAMESPACE_PREFIX + ":importerClassName"; /** * The name of the property whose value is the class name of the metamodel's exporter. */ String EXPORTER_CLASS_NAME = NAMESPACE_PREFIX + ":exporterClassName"; /** * The name of the property whose value is the class name of the metamodel's dependency processor. */ String DEPENDENCY_PROCESSOR_CLASS_NAME = NAMESPACE_PREFIX + ":dependencyProcessorClassName"; /** * JCR names related to a metamodel category. */ interface Category { /** * The node type name of a category. */ String NODE_TYPE = NAMESPACE_PREFIX + ":metamodelCategory"; /** * The node type name and type whose children are all archives. */ String ARCHIVES = NAMESPACE_PREFIX + ":archives"; /** * The node type name and type whose children are all metamodels. */ String METAMODELS = NAMESPACE_PREFIX + ":metamodels"; } /** * JCR names related to a metamodel extension. */ interface Extension { /** * The node type name of the abstract node type definition for a metamodel extension. */ String NODE_TYPE = NAMESPACE_PREFIX + ":metamodelExtension"; /** * The property name whose value is the an extension type. */ String EXTENSION_TYPE = NAMESPACE_PREFIX + ":extensionType"; /** * The property name whose value is the class name of the metamodel extension. */ String CLASS_NAME = NAMESPACE_PREFIX + ":className"; /** * The property name whose value is the reference to the archive that was used to create the metamodel or load a * metamodel extension. */ String ARCHIVE_REFERENCE = NAMESPACE_PREFIX + ":archiveReference"; /** * The name of the dependency processor node type definition. */ String DEPENDENCY_PROCESSOR_NODE_TYPE = NAMESPACE_PREFIX + ":dependencyProcessor"; /** * The name of the exporter node type definition. */ String EXPORTER_NODE_TYPE = NAMESPACE_PREFIX + ":exporter"; /** * The name of the importer node type definition. */ String IMPORTER_NODE_TYPE = NAMESPACE_PREFIX + ":importer"; /** * The name of the multi-valued property whose values are regular expressions used to mark file names as potential * extensions of this type. */ String NAME_PATTERNS = NAMESPACE_PREFIX + ":namePatterns"; } } /** * JCR names related to a model. */ interface Model { /** * The node type name of the dependencies node. This node will have dependency child nodes. */ String DEPENDENCIES = NAMESPACE_PREFIX + ":dependencies"; /** * The name of the external location property the imported resource was sourced from. */ String EXTERNAL_LOCATION = NAMESPACE_PREFIX + ":externalLocation"; /** * The mixin type of a model node. */ String MODEL_MIXIN = NAMESPACE_PREFIX + ":model"; /** * The name of the property whose value is a reference to the model's metamodel. */ String METAMODEL = NAMESPACE_PREFIX + ":metamodel"; } }