001/*
002 * Copyright 2008 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 */
016package org.kuali.ole.sys.document.datadictionary;
017
018import java.util.Map;
019
020import org.kuali.ole.sys.businessobject.AccountingLineParser;
021import org.kuali.rice.kns.datadictionary.TransactionalDocumentEntry;
022
023/**
024 * An extension of the Rice TransactionalDocumentEntry that allows for OLE-centric properties, such as
025 * Accounting Document validations 
026 */
027public class FinancialSystemTransactionalDocumentEntry extends TransactionalDocumentEntry {
028    private Map<Class, String> validationMap;
029    private Map<String, AccountingLineGroupDefinition> accountingLineGroups;
030    private Class<? extends AccountingLineParser> importedLineParserClass;
031    private Integer maxDictionaryValidationDepth;
032    protected boolean allowsErrorCorrection = false;
033    protected boolean potentiallySensitive = false;
034
035    /**
036     * Gets the validationMap attribute. 
037     * @return Returns the validationMap.
038     */
039    public Map<Class, String> getValidationMap() {
040        return validationMap;
041    }
042
043    /**
044     * Sets the validationMap attribute value.
045     * @param validationMap The validationMap to set.
046     */
047    public void setValidationMap(Map<Class, String> validationMap) {
048        this.validationMap = validationMap;
049    }
050
051    /**
052     * Gets the accountingLineGroups attribute. 
053     * @return Returns the accountingLineGroups.
054     */
055    public Map<String, AccountingLineGroupDefinition> getAccountingLineGroups() {
056        return accountingLineGroups;
057    }
058
059    /**
060     * Sets the accountingLineGroups attribute value.
061     * @param accountingLineGroups The accountingLineGroups to set.
062     */
063    public void setAccountingLineGroups(Map<String, AccountingLineGroupDefinition> accountingLineGroups) {
064        this.accountingLineGroups = accountingLineGroups;
065    }
066    
067    /**
068     * Gets the importedLineParserClass attribute. 
069     * @return Returns the importedLineParserClass.
070     */
071    public Class<? extends AccountingLineParser> getImportedLineParserClass() {
072        return importedLineParserClass;
073    }
074
075    /**
076     * Sets the importedLineParserClass attribute value.
077     * @param importedLineParserClass The importedLineParserClass to set.
078     */
079    public void setImportedLineParserClass(Class<? extends AccountingLineParser> importedLineParser) {
080        this.importedLineParserClass = importedLineParser;
081    }
082
083    /**
084     * Gets the maxDictionaryValidationDepth attribute. 
085     * @return Returns the maxDictionaryValidationDepth.
086     */
087    public Integer getMaxDictionaryValidationDepth() {
088        return maxDictionaryValidationDepth;
089    }
090
091    /**
092     * Sets the maxDictionaryValidationDepth attribute value.
093     * @param maxDictionaryValidationDepth The maxDictionaryValidationDepth to set.
094     */
095    public void setMaxDictionaryValidationDepth(Integer maxDictionaryValidationDepth) {
096        this.maxDictionaryValidationDepth = maxDictionaryValidationDepth;
097    }
098    
099    /**
100        This field contains a value of true or false.
101        If true, then error correction is allowed for the document.
102     */
103    public void setAllowsErrorCorrection(boolean allowsErrorCorrection) {
104        this.allowsErrorCorrection = allowsErrorCorrection;
105    }
106    
107    /**
108     * 
109     * @see org.kuali.rice.kns.datadictionary.TransactionalDocumentEntry#getAllowsErrorCorrection()
110     */
111    public boolean getAllowsErrorCorrection() {
112        return allowsErrorCorrection;
113    }
114
115    /**
116     * Gets the potentiallySensitive attribute. 
117     * @return Returns the potentiallySensitive.
118     */
119    public boolean isPotentiallySensitive() {
120        return potentiallySensitive;
121    }
122
123    /**
124     * Sets the potentiallySensitive attribute value.
125     * @param potentiallySensitive The potentiallySensitive to set.
126     */
127    public void setPotentiallySensitive(boolean potentiallySensitive) {
128        this.potentiallySensitive = potentiallySensitive;
129    }
130    
131    
132}