/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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. */ package org.apache.stanbol.entityhub.servicesapi; import java.util.Collection; import org.apache.stanbol.entityhub.servicesapi.mapping.FieldMapping; import org.apache.stanbol.entityhub.servicesapi.model.ManagedEntityState; import org.apache.stanbol.entityhub.servicesapi.model.MappingState; import org.apache.stanbol.entityhub.servicesapi.site.Site; import org.apache.stanbol.entityhub.servicesapi.yard.Yard; /** * Provides the Configuration needed by the {@link Entityhub}.<p> * @author Rupert Westenthaler * */ public interface EntityhubConfiguration { /** * The key used to configure the ID of the entity hub */ String ID = "org.apache.stanbol.entityhub.id"; /** * The ID of the Entityhub. This ID is used as origin (sign site) for all symbols * and mapped entities created by the Entityhub * @return the ID of the Entityhub */ String getID(); /** * The property used to configure the prefix used for {@link Symbol}s and * {@link EntityMapping}s created by the Entityhub */ String PREFIX = "org.apache.stanbol.entityhub.prefix"; /** * Getter for the Prefix to be used for all {@link Symbol}s and {@link EntityMapping}s * created by the {@link Entityhub} * @return The prefix for {@link Symbol}s and {@link EntityMapping}s */ String getEntityhubPrefix(); /** * The key used to configure the name of the entity hub */ String NAME = "org.apache.stanbol.entityhub.name"; /** * The human readable name of this entity hub instance. Typically used as label * in addition/instead of the ID. * @return the Name (or the ID in case no name is defined) */ String getName(); /** * The key used to configure the description of the entity hub */ String DESCRIPTION = "org.apache.stanbol.entityhub.description"; /** * The human readable description to provide some background information about * this entity hub instance. * @return the description or <code>null</code> if none is defined/configured. */ String getDescription(); /** * The property used to configure the id of the {@link Yard} used to store * the data of the {@link Entityhub} */ String ENTITYHUB_YARD_ID = "org.apache.stanbol.entityhub.yard.entityhubYardId"; /** * The default ID for the {@link Yard} used for the {@link Entityhub} */ String DEFAULT_ENTITYHUB_YARD_ID = "entityhubYard"; /** * This is the ID of the {@link Yard} used by the {@link Entityhub} to store * its data * @return the entity hub yard id */ String getEntityhubYardId(); /** * The property used to configure the field mappings for the {@link Entityhub} */ String FIELD_MAPPINGS = "org.apache.stanbol.entityhub.mapping.entityhub"; /** * Getter for the FieldMapping configuration of the {@link Entityhub}. * These Mappings are used for every {@link Site} of the * {@link Entityhub}.<br> * Note that {@link FieldMapping#parseFieldMapping(String)} is used to * parsed the values returned by this Method * @return the configured mappings for the {@link Entityhub} */ Collection<String> getFieldMappingConfig(); /** * The property used to configure the initial state for new {@link EntityMapping}s */ String DEFAULT_MAPPING_STATE = "org.apache.stanbol.entityhub.defaultMappingState"; /** * The initial (default) state for new {@link EntityMapping}s * @return the default state for new {@link EntityMapping}s */ MappingState getDefaultMappingState(); /** * The property used to configure the initial state for new {@link Symbol}s */ String DEFAULT_SYMBOL_STATE = "org.apache.stanbol.entityhub.defaultSymbolState"; /** * The initial (default) state for new {@link Symbol}s * @return the default state for new {@link Symbol}s */ ManagedEntityState getDefaultManagedEntityState(); }