KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > idaremedia > antx > ownhelpers > ProjectDependentSkeleton


1 /**
2  * $Id: ProjectDependentSkeleton.java 180 2007-03-15 12:56:38Z ssmc $
3  * Copyright 2004 iDare Media, Inc. All rights reserved.
4  *
5  * Originally written by iDare Media, Inc. for release into the public domain. This
6  * library, source form and binary form, is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License (LGPL) as published
8  * by the Free Software Foundation; either version 2.1 of the License, or (at your option)
9  * any later version.<p>
10  *
11  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  * See the GNU LGPL for more details.<p>
14  *
15  * You should have received a copy of the GNU Lesser General Public License along with this
16  * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite
17  * 330, Boston, MA 02111-1307 USA. The GNU LGPL can be found online at
18  * http://www.fsf.org/copyleft/lesser.html<p>
19  *
20  * This product has been influenced by several projects within the open-source community.
21  * The JWare developers wish to acknowledge the open-source community's support. For more
22  * information regarding the open-source products used within JWare, please visit the
23  * JWare website.
24  *----------------------------------------------------------------------------------------*
25  * WEBSITE- http://www.jware.info EMAIL- inquiries@jware.info
26  *----------------------------------------------------------------------------------------*
27  **/

28
29 package com.idaremedia.antx.ownhelpers;
30
31 import org.apache.tools.ant.Project;
32
33 import com.idaremedia.antx.AntX;
34 import com.idaremedia.antx.apis.ProjectDependent;
35
36 /**
37  * Starting point for a simple AntX utility or helper that depends on a project
38  * to perform its function.
39  *
40  * @since JWare/AntX 0.4
41  * @author ssmc, &copy;2004 <a HREF="http://www.jware.info">iDare&nbsp;Media,&nbsp;Inc.</a>
42  * @version 0.5
43  * @.safety single
44  * @.group impl,helper
45  **/

46
47 public abstract class ProjectDependentSkeleton implements ProjectDependent
48 {
49     /**
50      * Initializes this project dependent object.
51      **/

52     protected ProjectDependentSkeleton()
53     {
54     }
55
56
57     /**
58      * (Re)initialize this dependent target project.
59      * @param P the project
60      **/

61     public void setProject(Project P)
62     {
63         m_P = P;
64     }
65
66
67
68     /**
69      * Returns this object's targeted project. Can return
70      * <i>null</i> if this attribute never defined.
71      **/

72     public Project getProject()
73     {
74         return m_P;
75     }
76
77
78     /**
79      * Returns this object's targeted project ensuring the
80      * reference is not <i>null</i>. Calls {@linkplain #getProject}.
81      * @throws IllegatStateException if project is <i>null</i>.
82      **/

83     protected final Project getProjectNoNull()
84     {
85         Project P= getProject();
86         AntX.verify_(P!=null,AntX.AntX+"ProjectDependent:","getProj- inited");
87         return P;
88     }
89
90
91
92     /**
93      * Logs given message to our project if project exists.
94      * Otherwise, writes message to stdout.
95      * @param message the message (non-null)
96      * @since JWare/AntX 0.5
97      **/

98     protected void log(String JavaDoc message)
99     {
100         Project P = getProject();
101         if (P!=null) {
102             P.log(message);
103         } else {
104             System.out.println(message);
105         }
106     }
107
108
109
110     /**
111      * Logs given message at named level to our project if
112      * project exists. Otherwise, writes message to stdout
113      * or stderr.
114      * @param message the message (non-null)
115      * @param msgLevel message noise level
116      * @since JWare/AntX 0.5
117      **/

118     protected void log(String JavaDoc message, int msgLevel)
119     {
120         Project P = getProject();
121         if (P!=null) {
122             P.log(message,msgLevel);
123         } else {
124             if (msgLevel==Project.MSG_WARN || msgLevel==Project.MSG_ERR) {
125                 System.err.println(message);
126             } else {
127                 System.out.println(message);
128             }
129         }
130     }
131
132
133
134     private Project m_P;
135 }
136
137 /* end-of-ProjectDependentSkeleton.java */
138
Popular Tags