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 */ 018 019package io.konik.zugferd.entity; 020 021import io.konik.validator.annotation.Extended; 022import io.konik.validator.annotation.NotBlank; 023import io.konik.validator.annotation.NotEmpty; 024import io.konik.validator.annotation.NullableNotBlank; 025import io.konik.zugferd.unqualified.Measure; 026 027import java.util.List; 028 029import javax.validation.Valid; 030import javax.xml.bind.annotation.XmlAccessType; 031import javax.xml.bind.annotation.XmlAccessorType; 032import javax.xml.bind.annotation.XmlElement; 033import javax.xml.bind.annotation.XmlType; 034 035/** 036 * The Class ProductCharacteristic. 037 */ 038@XmlAccessorType(XmlAccessType.FIELD) 039@XmlType(name = "ProductCharacteristicType", propOrder = { "typeCode", "description", "measurand", "value" }) 040public class ProductCharacteristic { 041 042 @NotBlank 043 @XmlElement(name = "TypeCode") 044 private String typeCode; 045 046 @NotEmpty 047 @XmlElement(name = "Description") 048 private List<String> description; 049 050 @Valid 051 @XmlElement(name = "ValueMeasure") 052 private Measure measurand; 053 054 @Extended 055 @NullableNotBlank 056 @XmlElement(name = "Value") 057 private String value; 058 059 /** 060 * Gets the type code. 061 * 062 * @return the type code 063 */ 064 public String getTypeCode() { 065 return typeCode; 066 } 067 068 /** 069 * Sets the type code. 070 * 071 * @param typeCode the type code 072 */ 073 public void setTypeCode(String typeCode) { 074 this.typeCode = typeCode; 075 } 076 077 /** 078 * Gets the description. 079 * 080 * @return the description 081 */ 082 public List<String> getDescription() { 083 return description; 084 } 085 086 /** 087 * Sets the description. 088 * 089 * @param description the description 090 */ 091 public void setDescription(List<String> description) { 092 this.description = description; 093 } 094 095 /** 096 * Gets the measurand. 097 * 098 * @return the measurand 099 */ 100 public Measure getMeasurand() { 101 return measurand; 102 } 103 104 /** 105 * Sets the measurand. 106 * 107 * @param measurand the measurand 108 */ 109 public void setMeasurand(Measure measurand) { 110 this.measurand = measurand; 111 } 112 113 /** 114 * Gets the value. 115 * 116 * @return the value 117 */ 118 public String getValue() { 119 return value; 120 } 121 122 /** 123 * Sets the value. 124 * 125 * @param value the value 126 */ 127 public void setValue(String value) { 128 this.value = value; 129 } 130 131}