001: /*
002: * ============================================================================
003: * GNU Lesser General Public License
004: * ============================================================================
005: *
006: * JasperReports - Free Java report-generating library.
007: * Copyright (C) 2001-2006 JasperSoft Corporation http://www.jaspersoft.com
008: *
009: * This library is free software; you can redistribute it and/or
010: * modify it under the terms of the GNU Lesser General Public
011: * License as published by the Free Software Foundation; either
012: * version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
017: * Lesser General Public License for more details.
018: *
019: * You should have received a copy of the GNU Lesser General Public
020: * License along with this library; if not, write to the Free Software
021: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
022: *
023: * JasperSoft Corporation
024: * 303 Second Street, Suite 450 North
025: * San Francisco, CA 94107
026: * http://www.jaspersoft.com
027: */
028: package net.sf.jasperreports.engine.design;
029:
030: import java.util.List;
031: import java.util.ArrayList;
032:
033: import net.sf.jasperreports.engine.JRStyle;
034: import net.sf.jasperreports.engine.JRConditionalStyle;
035: import net.sf.jasperreports.engine.base.JRBaseStyle;
036:
037: /**
038: * @author Ionut Nedelcu (ionutned@users.sourceforge.net)
039: * @version $Id: JRDesignStyle.java 1762 2007-06-21 07:22:48Z lucianc $
040: */
041: public class JRDesignStyle extends JRBaseStyle {
042:
043: /**
044: *
045: */
046: private static final long serialVersionUID = 10001;
047:
048: private List conditionalStylesList = new ArrayList();
049:
050: /**
051: *
052: */
053: public JRDesignStyle() {
054: }
055:
056: /**
057: *
058: */
059: public void setName(String name) {
060: this .name = name;
061: }
062:
063: /**
064: *
065: */
066: public void setDefault(boolean isDefault) {
067: this .isDefault = isDefault;
068: }
069:
070: /**
071: *
072: */
073: public void setParentStyle(JRStyle parentStyle) {
074: super .setParentStyle(parentStyle);
075: }
076:
077: /**
078: *
079: */
080: public void addConditionalStyle(JRConditionalStyle conditionalStyle) {
081: conditionalStylesList.add(conditionalStyle);
082: }
083:
084: /**
085: *
086: */
087: public boolean removeConditionalStyle(
088: JRConditionalStyle conditionalStyle) {
089: return conditionalStylesList.remove(conditionalStyle);
090: }
091:
092: /**
093: *
094: */
095: public JRConditionalStyle[] getConditionalStyles() {
096: return (JRConditionalStyle[]) conditionalStylesList
097: .toArray(new JRDesignConditionalStyle[conditionalStylesList
098: .size()]);
099: }
100:
101: /**
102: *
103: */
104: public List getConditionalStyleList() {
105: return conditionalStylesList;
106: }
107:
108: /**
109: * Set the name of the external style to be used as parent style.
110: * <p/>
111: * An external style is only effective when there is no internal parent style set,
112: * i.e. {@link #getStyle() getStyle()} returns <code>null</code>
113: * The external style will be resolved at fill time from the templates used in the report.
114: *
115: * @param styleName the name of the external style
116: * @see #getStyleNameReference()
117: */
118: public void setParentStyleNameReference(String styleName) {
119: this.parentStyleNameReference = styleName;
120: }
121: }
|