001: /***************************************************************
002: * This file is part of the [fleXive](R) project.
003: *
004: * Copyright (c) 1999-2008
005: * UCS - unique computing solutions gmbh (http://www.ucs.at)
006: * All rights reserved
007: *
008: * The [fleXive](R) project is free software; you can redistribute
009: * it and/or modify it under the terms of the GNU General Public
010: * License as published by the Free Software Foundation;
011: * either version 2 of the License, or (at your option) any
012: * later version.
013: *
014: * The GNU General Public License can be found at
015: * http://www.gnu.org/copyleft/gpl.html.
016: * A copy is found in the textfile GPL.txt and important notices to the
017: * license from the author are found in LICENSE.txt distributed with
018: * these libraries.
019: *
020: * This library is distributed in the hope that it will be useful,
021: * but WITHOUT ANY WARRANTY; without even the implied warranty of
022: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
023: * GNU General Public License for more details.
024: *
025: * For further information about UCS - unique computing solutions gmbh,
026: * please see the company website: http://www.ucs.at
027: *
028: * For further information about [fleXive](R), please see the
029: * project website: http://www.flexive.org
030: *
031: *
032: * This copyright notice MUST APPEAR in all copies of the file!
033: ***************************************************************/package com.flexive.shared.security;
034:
035: import com.flexive.shared.AbstractSelectableObjectWithName;
036:
037: import java.io.Serializable;
038:
039: /**
040: * A Mandator
041: *
042: * @author Gregor Schober (gregor.schober@flexive.com), UCS - unique computing solutions gmbh (http://www.ucs.at)
043: */
044: public class Mandator extends AbstractSelectableObjectWithName
045: implements Serializable {
046: private static final long serialVersionUID = 4821229397499448319L;
047:
048: /**
049: * The default flexive mandator
050: */
051: public static final int MANDATOR_FLEXIVE = 0;
052:
053: // Internal Id
054: private long id = -1;
055: // Mandators name
056: private String name = null;
057: // Metadata reference id
058: private long metadataId = -1;
059: // Active flag
060: private boolean active = false;
061: private LifeCycleInfo lci = null;
062:
063: /**
064: * Get the Id of the Mandators
065: *
066: * @return Id
067: */
068: public long getId() {
069: return id;
070: }
071:
072: /**
073: * Get the Mandators name
074: *
075: * @return Mandators name
076: */
077: public String getName() {
078: return name;
079: }
080:
081: /**
082: * The metadata reference id.
083: *
084: * @return The metadata reference id
085: */
086: public long getMetadataId() {
087: return this .metadataId;
088: }
089:
090: /**
091: * Are meta data attached to this mandator?
092: *
093: * @return if meta data are attached to this mandator
094: */
095: public boolean hasMetadata() {
096: return this .metadataId >= 0;
097: }
098:
099: /**
100: * Returns true if the mandator is active.
101: *
102: * @return true if the mandator is active.
103: */
104: public boolean isActive() {
105: return this .active;
106: }
107:
108: /**
109: * Get the LifeCycleInfoImpl
110: *
111: * @return LifeCycleInfoImpl
112: */
113: public LifeCycleInfo getLifeCycleInfo() {
114: return lci;
115: }
116:
117: public void setName(String name) {
118: this .name = name;
119: }
120:
121: public void setMetadataId(long metadataId) {
122: this .metadataId = metadataId;
123: }
124:
125: public void setActive(boolean active) {
126: this .active = active;
127: }
128:
129: /**
130: * Returns a string representation of the object.
131: *
132: * @return a string representation of the object.
133: */
134: public String getDisplay() {
135: return getName() + (this .active ? "" : " (inactive)");
136: }
137:
138: public Mandator() {
139: /* empty constructor */
140: }
141:
142: /**
143: * Constructor.
144: *
145: * @param id the unique id of the mandator
146: * @param name the name of the mandator
147: * @param metadataId the metadate reference id
148: * @param active is this mandator active?
149: * @param lci lifecycle info
150: */
151: public Mandator(long id, String name, long metadataId,
152: boolean active, LifeCycleInfo lci) {
153: this .id = id;
154: this .name = name;
155: this .metadataId = metadataId;
156: this .active = active;
157: this .lci = lci;
158: }
159:
160: /**
161: * {@inheritDoc}
162: */
163: @Override
164: public String toString() {
165: return getDisplay() + " (Id=" + getId() + ")";
166: }
167: }
|