001/* Copyright (C) 2014 konik.io 002 * 003 * This file is part of the Konik library. 004 * 005 * The Konik library is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * The Konik library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with the Konik library. If not, see <http://www.gnu.org/licenses/>. 017 */ 018package io.konik.zugferd.unqualified; 019 020import javax.xml.bind.annotation.XmlAttribute; 021import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; 022import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 023 024import io.konik.validator.annotation.NotBlank; 025 026/** 027 * 028 * The scheme agency aware identifier. 029 */ 030public class ExtendedID extends ID { 031 032 @XmlAttribute(name = "schemeAgencyID") 033 @XmlJavaTypeAdapter(CollapsedStringAdapter.class) 034 private String schemeAgencyId; 035 036 /** 037 * Instantiates a new extended id. 038 * 039 * @param idContent the id value 040 * @param schemeAgencyId the scheme agency id 041 */ 042 public ExtendedID(String idContent, String schemeAgencyId) { 043 super(idContent); 044 this.schemeAgencyId = schemeAgencyId; 045 } 046 047 ExtendedID() { 048 super(); 049 } 050 051 /** 052 * Gets the scheme agency id. 053 * 054 * @return the scheme agency id 055 */ 056 @NotBlank 057 public String getSchemeAgencyId() { 058 return schemeAgencyId; 059 } 060 061 /** 062 * Sets the scheme agency id. 063 * 064 * @param schemeAgencyId the new scheme agency id 065 * @return 066 */ 067 public ExtendedID setSchemeAgencyId(String schemeAgencyId) { 068 this.schemeAgencyId = schemeAgencyId; 069 return this; 070 } 071 072}