001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kfs.sys.document.datadictionary; 017 018 import java.util.List; 019 import java.util.Map; 020 021 import org.kuali.kfs.sys.businessobject.AccountingLineParser; 022 import org.kuali.rice.kns.datadictionary.TransactionalDocumentEntry; 023 024 /** 025 * An extension of the Rice TransactionalDocumentEntry that allows for KFS-centric properties, such as 026 * Accounting Document validations 027 */ 028 public class FinancialSystemTransactionalDocumentEntry extends TransactionalDocumentEntry { 029 private Map<Class, String> validationMap; 030 private Map<String, AccountingLineGroupDefinition> accountingLineGroups; 031 private Class<? extends AccountingLineParser> importedLineParserClass; 032 private Integer maxDictionaryValidationDepth; 033 protected boolean allowsErrorCorrection = false; 034 protected boolean potentiallySensitive = false; 035 036 /** 037 * Gets the validationMap attribute. 038 * @return Returns the validationMap. 039 */ 040 public Map<Class, String> getValidationMap() { 041 return validationMap; 042 } 043 044 /** 045 * Sets the validationMap attribute value. 046 * @param validationMap The validationMap to set. 047 */ 048 public void setValidationMap(Map<Class, String> validationMap) { 049 this.validationMap = validationMap; 050 } 051 052 /** 053 * Gets the accountingLineGroups attribute. 054 * @return Returns the accountingLineGroups. 055 */ 056 public Map<String, AccountingLineGroupDefinition> getAccountingLineGroups() { 057 return accountingLineGroups; 058 } 059 060 /** 061 * Sets the accountingLineGroups attribute value. 062 * @param accountingLineGroups The accountingLineGroups to set. 063 */ 064 public void setAccountingLineGroups(Map<String, AccountingLineGroupDefinition> accountingLineGroups) { 065 this.accountingLineGroups = accountingLineGroups; 066 } 067 068 /** 069 * Gets the importedLineParserClass attribute. 070 * @return Returns the importedLineParserClass. 071 */ 072 public Class<? extends AccountingLineParser> getImportedLineParserClass() { 073 return importedLineParserClass; 074 } 075 076 /** 077 * Sets the importedLineParserClass attribute value. 078 * @param importedLineParserClass The importedLineParserClass to set. 079 */ 080 public void setImportedLineParserClass(Class<? extends AccountingLineParser> importedLineParser) { 081 this.importedLineParserClass = importedLineParser; 082 } 083 084 /** 085 * Gets the maxDictionaryValidationDepth attribute. 086 * @return Returns the maxDictionaryValidationDepth. 087 */ 088 public Integer getMaxDictionaryValidationDepth() { 089 return maxDictionaryValidationDepth; 090 } 091 092 /** 093 * Sets the maxDictionaryValidationDepth attribute value. 094 * @param maxDictionaryValidationDepth The maxDictionaryValidationDepth to set. 095 */ 096 public void setMaxDictionaryValidationDepth(Integer maxDictionaryValidationDepth) { 097 this.maxDictionaryValidationDepth = maxDictionaryValidationDepth; 098 } 099 100 /** 101 This field contains a value of true or false. 102 If true, then error correction is allowed for the document. 103 */ 104 public void setAllowsErrorCorrection(boolean allowsErrorCorrection) { 105 this.allowsErrorCorrection = allowsErrorCorrection; 106 } 107 108 /** 109 * 110 * @see org.kuali.rice.kns.datadictionary.TransactionalDocumentEntry#getAllowsErrorCorrection() 111 */ 112 public boolean getAllowsErrorCorrection() { 113 return allowsErrorCorrection; 114 } 115 116 /** 117 * Gets the potentiallySensitive attribute. 118 * @return Returns the potentiallySensitive. 119 */ 120 public boolean isPotentiallySensitive() { 121 return potentiallySensitive; 122 } 123 124 /** 125 * Sets the potentiallySensitive attribute value. 126 * @param potentiallySensitive The potentiallySensitive to set. 127 */ 128 public void setPotentiallySensitive(boolean potentiallySensitive) { 129 this.potentiallySensitive = potentiallySensitive; 130 } 131 132 133 }