01: /*
02: * Copyright 2006-2007 The Kuali Foundation.
03: *
04: * Licensed under the Educational Community License, Version 1.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.opensource.org/licenses/ecl1.php
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.kuali.core.util;
17:
18: import java.io.Serializable;
19: import java.util.List;
20:
21: /**
22: * This class is a token-style class, that is write-once, then read-only for all consumers of the class. It is often used as a
23: * return value from various PersistenceStructureService methods.
24: *
25: * The object represents the state of the foreign-key fields of a reference object. For example, if Account is the bo, and
26: * organization is the reference object, then chartOfAccountsCode and organizationCode are the foreign key fields. Their state,
27: * rather they are all filled out, whether any of them are filled out, and which ones are not filled out, is what this class
28: * represents.
29: *
30: *
31: */
32: public class ForeignKeyFieldsPopulationState implements Serializable {
33:
34: private boolean allFieldsPopulated;
35: private boolean anyFieldsPopulated;
36: private List<String> unpopulatedFieldNames;
37:
38: public ForeignKeyFieldsPopulationState(boolean allFieldsPopulated,
39: boolean anyFieldsPopulated,
40: List<String> unpopulatedFieldNames) {
41: this .allFieldsPopulated = allFieldsPopulated;
42: this .anyFieldsPopulated = anyFieldsPopulated;
43: this .unpopulatedFieldNames = unpopulatedFieldNames;
44: }
45:
46: /**
47: * Gets the allFieldsPopulated attribute.
48: *
49: * @return Returns the allFieldsPopulated.
50: */
51: public boolean isAllFieldsPopulated() {
52: return allFieldsPopulated;
53: }
54:
55: /**
56: * Gets the anyFieldsPopulated attribute.
57: *
58: * @return Returns the anyFieldsPopulated.
59: */
60: public boolean isAnyFieldsPopulated() {
61: return anyFieldsPopulated;
62: }
63:
64: /**
65: * Gets the unpopulatedFieldNames attribute.
66: *
67: * @return Returns the unpopulatedFieldNames.
68: */
69: public List<String> getUnpopulatedFieldNames() {
70: return unpopulatedFieldNames;
71: }
72:
73: /**
74: * @see org.kuali.core.service.PersistenceStructureService.ForeignKeyFieldsPopulation#hasUnpopulatedFieldName(java.lang.String)
75: */
76: public boolean hasUnpopulatedFieldName(String fieldName) {
77: if (this .unpopulatedFieldNames.contains(fieldName)) {
78: return true;
79: } else {
80: return false;
81: }
82: }
83: }
|