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 io.konik.validator.annotation.NotBlank;
021
022import javax.xml.bind.annotation.XmlAttribute;
023import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
024import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
025
026/**
027 * 
028 * The scheme agency aware identifier.
029 */
030public class ExtendedID extends ID {
031
032   @NotBlank
033   @XmlAttribute(name = "schemeAgencyID")
034   @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
035   private String schemeAgencyId;
036
037   /**
038    * Instantiates a new extended id.
039    *
040    * @param idValue the id value
041    * @param schemeAgencyId the scheme agency id
042    */
043   public ExtendedID(String idValue, String schemeAgencyId) {
044      super(idValue);
045      this.schemeAgencyId = schemeAgencyId;
046   }
047
048   ExtendedID() {
049      super();
050   }
051
052   /**
053    * Gets the scheme agency id.
054    *
055    * @return the scheme agency id
056    */
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}