/** * 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.cxf.aegis.type.missing; import java.io.Serializable; /** * A Outer, for purposes of matching and indexing. */ public class Outer implements Serializable { // Note that the accessors in here don't return null pointers for strings. // This improves the behavior of web services that return examples of this // object. /** * */ private static final long serialVersionUID = -2435297692897827392L; /** * The name string itself. */ String data; /** * A unique ID for the name. Often a key from some other database. */ String uid; /** * A flag indicating that this name is the primary name of it's entity. */ boolean primary; /** * The type of name in the taxonomy of entity types. * * @see com.basistech.rlp.RLPNEConstants for constants for this field. */ int entityType; /** * The unique identifier of the entity containing this name, or none. * * @see Entity */ String entityUID; /** * In some environments, names store additional data. */ String extra; /** * Any pre-computed inners for the name. * * @@uml.property name="inners" * @@uml.associationEnd multiplicity="(0 -1)" */ Inner[] inners; /** * Construct an empty name object. */ public Outer() { extra = ""; } /** * @return arbitrary data stored with this name. */ public String getExtra() { return extra == null ? "" : extra; } /** * Set arbitrary data stored with this name. * * @param extra the extra to set */ public void setExtra(String extra) { this.extra = extra; } /** * Set a unique ID for this name. This API does not check or enforce * uniqueness. * * @param uid */ public void setUID(String auid) { this.uid = auid; } /** * @return the unique ID for this name. */ public String getUID() { return uid; } /** * Set the textual content of the name. This call does not automatically set * any other properties, such as script or language. * * @param data the data to set. */ public void setData(String data) { this.data = data; } /** * @return the textual content of the name. */ public String getData() { return data; } /** * Set the 'named entity' type of this name. * {@link com.basistech.rlp.RLPNEConstants} for possible values. This value * influences the interpretating and matching of the name. Use the value * {@link com.basistech.rlp.RLPNEConstants#NE_TYPE_NONE} if there is no type * available. * * @param entityType */ public void setEntityType(int entityType) { this.entityType = entityType; } /** * @return the 'named entity' type of this name. */ public int getEntityType() { return entityType; } /** * Set an entity UID for this name. Entities group multiple names for a * single real-world item. All the names of a single entity are connected * via their entity unique ID. * * @param entityUID the UID. */ public void setEntityUID(String entityUID) { this.entityUID = entityUID; } /** * @return the entity unique ID. */ public String getEntityUID() { return entityUID; } /** * Set the 'primary' flag for this name. If names are grouped by entities * {@link #setEntityUID(String)}, one of the names of an entity may be * marked primary. This API does not check that only one name is marked. * * @param primary the primary flag. */ public void setPrimary(boolean primary) { this.primary = primary; } /** * @return the primary flag. */ public boolean isPrimary() { return primary; } /** * Set pre-calculated inners for this name. * * @param inners the inners. */ public void setTransliterations(Inner[] transliterations) { this.inners = transliterations; } /** * @return pre-calculated inners for this name. */ public Inner[] getTransliterations() { return inners; } }