/** * Copyright Intellectual Reserve, Inc. * * 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. */ package org.gedcomx.types; import com.webcohesion.enunciate.metadata.Facet; import com.webcohesion.enunciate.metadata.qname.XmlQNameEnum; import com.webcohesion.enunciate.metadata.qname.XmlUnknownQNameEnumValue; import org.gedcomx.common.URI; import org.gedcomx.rt.ControlledVocabulary; import org.gedcomx.rt.EnumURIMap; import org.gedcomx.rt.GedcomxConstants; /** * Enumeration of known record types. * * @author Ryan Heaton */ @XmlQNameEnum ( base = XmlQNameEnum.BaseType.URI ) @Facet ( GedcomxConstants.FACET_GEDCOMX_RECORD ) public enum RecordType implements ControlledVocabulary { /** * A record of a person's admission to an institution, society, or other association. */ Admission, /** * A record of an adoption. */ Adoption, /** * An affidavit. */ Affidavit, /** * A person's application to an institution, society or other association. */ Application, /** * A record of a person's arrival at a certain place. */ Arrival, /** * A bank record. */ Bank, /** * A record of a person's baptism. */ Baptism, /** * A record of a birth. */ Birth, /** * A record of a person's burial or interment. */ Burial, /** * todo: document this type. */ Business, /** * todo: document this type. */ Cemetery, /** * A census record. */ Census, /** * A record of a person's christening. */ Christening, /** * A Compiled Genealogy */ CompiledGenealogy, /** * A record of a person's confirmation. */ Confirmation, /** * todo: document this type. */ Correspondence, /** * A death record. */ Death, /** * A record of a person's departure from a certain place. */ Departure, /** * A divorce record. */ Divorce, /** * todo: document this type. */ Duplicate, /** * A draft record. */ Draft, /** * todo: document this type. */ Estate, /** * todo: document this type. */ Index, /** * todo: document this type. what's the difference between this an MarrigeBanns? */ IntendedMarriage, /** * A land record. */ Land, /** * A legal record. */ Legal, /** * A marriage record. */ Marriage, /** * A marriage affadavit. todo: is this distinguishment necessary? why not just use Marriage? */ MarriageAffidavit, /** * todo: document this type. */ MarriageAmendment, /** * A record of a person's banns of marriage. */ MarriageBanns, /** * todo: document this type. why not just use marriage banns? */ MarriageConsent, /** * todo: document this type. */ MarriageDuplicate, /** * A marriage license. todo: is this distinguishment necessary? why not just use Marriage? */ MarriageLicense, /** * todo: document this type. is this distinguishment necessary? why not just use Marriage? */ MarriageReturns, /** * todo: document this type. is this distinguishment necessary? */ Membership, /** * A migration record. */ Migration, /** * A military record. */ Military, /** * A naturalization record. */ Naturalization, /** * A Obituary record */ Obituary, /** * A passenger record. */ Passenger, /** * A pension record. */ Pension, /** * A probate record. */ Probate, /** * todo: document this type. */ RelatedDocument, /** * todo: document this type. */ ReligiousCreeds, /** * A Residence record */ Residence, /** * A roll. */ Roll, /** * A tax record. */ Tax, /** * A vital record. */ Vital, /** * A voter registration record. */ VoterRegistration, /** * Custom */ @XmlUnknownQNameEnumValue OTHER; private static final EnumURIMap<RecordType> URI_MAP = new EnumURIMap<RecordType>(RecordType.class, GedcomxConstants.GEDCOMX_TYPES_NAMESPACE); /** * Return the QName value for this enum. * * @return The QName value for this enum. */ public URI toQNameURI() { return URI_MAP.toURIValue(this); } /** * Get the enumeration from the QName. * * @param qname The qname. * @return The enumeration. */ public static RecordType fromQNameURI(URI qname) { return URI_MAP.fromURIValue(qname); } }