001 // Copyright 2005-2006 Ferdinand Prantl <prantl@users.sourceforge.net>
002 // Copyright 2001-2004 The Apache Software Foundation
003 // All rights reserved.
004 //
005 // Licensed under the Apache License, Version 2.0 (the "License");
006 // you may not use this file except in compliance with the License.
007 // You may obtain a copy of the License at
008 //
009 // http://www.apache.org/licenses/LICENSE-2.0
010 //
011 // Unless required by applicable law or agreed to in writing, software
012 // distributed under the License is distributed on an "AS IS" BASIS,
013 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 // See the License for the specific language governing permissions and
015 // limitations under the License.
016 //
017 // See http://ant-eclipse.sourceforge.net for the most recent version
018 // and more information.
019
020 package prantl.ant.eclipse;
021
022 /**
023 * Describes an element under the element classpath referring to compiled classes. The
024 * attributes <tt>exported</tt> and <tt>source</tt> are optional.
025 *
026 * @since Ant-Eclipse 1.0
027 * @author Ferdinand Prantl <prantl@users.sourceforge.net>
028 */
029 public abstract class ClassPathEntryBinaryElement extends ClassPathEntryPathElement {
030
031 private boolean exported = false;
032
033 private String source = null;
034
035 private String javadoc = null;
036
037 /**
038 * Creates a new instance of the element containing binary code.
039 *
040 * @since Ant-Eclipse 1.0
041 */
042 public ClassPathEntryBinaryElement() {
043 }
044
045 /**
046 * Returns if the referred compiled byte-code is exported during the jar-file
047 * generation (not by default).
048 *
049 * @return <tt>True</tt> if the referred compiled byte-code is exported during the
050 * jar-file generation.
051 */
052 public boolean getExported() {
053 return exported;
054 }
055
056 /**
057 * Sets if the referred compiled byte-code is exported during the jar-file generation.
058 *
059 * @param flag
060 * <tt>True</tt> if the referred compiled byte-code is exported during the
061 * jar-file generation.
062 * @since Ant-Eclipse 1.0
063 */
064 public void setExported(boolean flag) {
065 exported = flag;
066 }
067
068 /**
069 * Returns a path with source code to the referred compiled byte-code or <tt>null</tt>
070 * if it has not been set, which means that the sources are not available.
071 *
072 * @return A path with source code to the referred compiled byte-code or <tt>null</tt>
073 * if not having been set.
074 */
075 public String getSource() {
076 return source;
077 }
078
079 /**
080 * Sets the path with source code to the referred compiled byte-code.
081 *
082 * @param value
083 * The path with source code to the referred compiled byte-code.
084 * @since Ant-Eclipse 1.0
085 */
086 public void setSource(String value) {
087 source = value;
088 }
089
090 /**
091 * Returns a path with a generated javadoc documentation to the referred compiled
092 * byte-code or <tt>null</tt> if it has not been set, which means that the javadoc
093 * is not available.
094 *
095 * The path must be in formats accepted by Eclipse; either a path to a directory or a
096 * path to a zip-archive with correct prefixing:
097 *
098 * <ul>
099 * <li>file:/path/to/a/directory/</li>
100 * <li>jar:file:/path/to/a/file.zip!/</li>
101 * </ul>
102 *
103 * @return A path with javadoc to the referred compiled byte-code or <tt>null</tt>
104 * if not having been set.
105 */
106 public String getJavadoc() {
107 return javadoc;
108 }
109
110 /**
111 * Sets the path with a generated javadoc documentation to the referred compiled
112 * byte-code.
113 *
114 * The path must be in formats accepted by Eclipse; either a path to a directory or a
115 * path to a zip-archive with correct prefixing:
116 *
117 * <ul>
118 * <li>file:/path/to/a/directory/</li>
119 * <li>jar:file:/path/to/a/file.zip!/</li>
120 * </ul>
121 *
122 * @param value
123 * The path with javadoc to the referred compiled byte-code.
124 * @since Ant-Eclipse 1.0
125 */
126 public void setJavadoc(String value) {
127 javadoc = value;
128 }
129
130 }