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 }