Recursion hell
This commit is contained in:
parent
c375732331
commit
2f7fa46bdf
2
.gitignore
vendored
2
.gitignore
vendored
@ -169,3 +169,5 @@
|
|||||||
/Semester 3/Assignments/SerialPog2/target/
|
/Semester 3/Assignments/SerialPog2/target/
|
||||||
/Semester 3/Assignments/SerialPogAnt/nbproject/private/
|
/Semester 3/Assignments/SerialPogAnt/nbproject/private/
|
||||||
/Semester 3/Assignments/SerialPogAnt/build/
|
/Semester 3/Assignments/SerialPogAnt/build/
|
||||||
|
/Semester 3/GenericStack/target/
|
||||||
|
/Semester 3/Assignments/lab6_generics_CalebFontenot/target/
|
||||||
|
@ -120,7 +120,43 @@ is divided into following sections:
|
|||||||
<property name="module.name" value=""/>
|
<property name="module.name" value=""/>
|
||||||
</target>
|
</target>
|
||||||
<target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property,-init-modules-supported" name="-do-init">
|
<target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property,-init-modules-supported" name="-do-init">
|
||||||
<property name="platform.java" value="${java.home}/bin/java"/>
|
<j2seproject1:property name="platform.home" value="platforms.${platform.active}.home"/>
|
||||||
|
<j2seproject1:property name="platform.bootcp" value="platforms.${platform.active}.bootclasspath"/>
|
||||||
|
<j2seproject1:property name="platform.compiler" value="platforms.${platform.active}.compile"/>
|
||||||
|
<j2seproject1:property name="platform.javac.tmp" value="platforms.${platform.active}.javac"/>
|
||||||
|
<condition property="platform.javac" value="${platform.home}/bin/javac">
|
||||||
|
<equals arg1="${platform.javac.tmp}" arg2="$${platforms.${platform.active}.javac}"/>
|
||||||
|
</condition>
|
||||||
|
<property name="platform.javac" value="${platform.javac.tmp}"/>
|
||||||
|
<j2seproject1:property name="platform.java.tmp" value="platforms.${platform.active}.java"/>
|
||||||
|
<condition property="platform.java" value="${platform.home}/bin/java">
|
||||||
|
<equals arg1="${platform.java.tmp}" arg2="$${platforms.${platform.active}.java}"/>
|
||||||
|
</condition>
|
||||||
|
<property name="platform.java" value="${platform.java.tmp}"/>
|
||||||
|
<j2seproject1:property name="platform.javadoc.tmp" value="platforms.${platform.active}.javadoc"/>
|
||||||
|
<condition property="platform.javadoc" value="${platform.home}/bin/javadoc">
|
||||||
|
<equals arg1="${platform.javadoc.tmp}" arg2="$${platforms.${platform.active}.javadoc}"/>
|
||||||
|
</condition>
|
||||||
|
<property name="platform.javadoc" value="${platform.javadoc.tmp}"/>
|
||||||
|
<condition property="platform.invalid" value="true">
|
||||||
|
<or>
|
||||||
|
<contains string="${platform.javac}" substring="$${platforms."/>
|
||||||
|
<contains string="${platform.java}" substring="$${platforms."/>
|
||||||
|
<contains string="${platform.javadoc}" substring="$${platforms."/>
|
||||||
|
</or>
|
||||||
|
</condition>
|
||||||
|
<fail unless="platform.home">Must set platform.home</fail>
|
||||||
|
<fail unless="platform.bootcp">Must set platform.bootcp</fail>
|
||||||
|
<fail unless="platform.java">Must set platform.java</fail>
|
||||||
|
<fail unless="platform.javac">Must set platform.javac</fail>
|
||||||
|
<fail if="platform.invalid">
|
||||||
|
The J2SE Platform is not correctly set up.
|
||||||
|
Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files.
|
||||||
|
Either open the project in the IDE and setup the Platform with the same name or add it manually.
|
||||||
|
For example like this:
|
||||||
|
ant -Duser.properties.file=<path_to_property_file> jar (where you put the property "platforms.${platform.active}.home" in a .properties file)
|
||||||
|
or ant -Dplatforms.${platform.active}.home=<path_to_JDK_home> jar (where no properties file is used)
|
||||||
|
</fail>
|
||||||
<available file="${manifest.file}" property="manifest.available"/>
|
<available file="${manifest.file}" property="manifest.available"/>
|
||||||
<condition property="splashscreen.available">
|
<condition property="splashscreen.available">
|
||||||
<and>
|
<and>
|
||||||
@ -243,20 +279,6 @@ is divided into following sections:
|
|||||||
<condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
|
<condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
|
||||||
<isset property="profile.available"/>
|
<isset property="profile.available"/>
|
||||||
</condition>
|
</condition>
|
||||||
<condition else="false" property="jdkBug6558476">
|
|
||||||
<and>
|
|
||||||
<matches pattern="1\.[56]" string="${java.specification.version}"/>
|
|
||||||
<not>
|
|
||||||
<os family="unix"/>
|
|
||||||
</not>
|
|
||||||
</and>
|
|
||||||
</condition>
|
|
||||||
<condition else="false" property="javac.fork">
|
|
||||||
<or>
|
|
||||||
<istrue value="${jdkBug6558476}"/>
|
|
||||||
<istrue value="${javac.external.vm}"/>
|
|
||||||
</or>
|
|
||||||
</condition>
|
|
||||||
<property name="jar.index" value="false"/>
|
<property name="jar.index" value="false"/>
|
||||||
<property name="jar.index.metainf" value="${jar.index}"/>
|
<property name="jar.index.metainf" value="${jar.index}"/>
|
||||||
<property name="copylibs.rebase" value="true"/>
|
<property name="copylibs.rebase" value="true"/>
|
||||||
@ -344,7 +366,7 @@ is divided into following sections:
|
|||||||
</path>
|
</path>
|
||||||
</resourcecount>
|
</resourcecount>
|
||||||
</condition>
|
</condition>
|
||||||
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
|
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
|
||||||
<src>
|
<src>
|
||||||
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
||||||
<include name="*"/>
|
<include name="*"/>
|
||||||
@ -395,7 +417,7 @@ is divided into following sections:
|
|||||||
<property location="${build.dir}/empty" name="empty.dir"/>
|
<property location="${build.dir}/empty" name="empty.dir"/>
|
||||||
<mkdir dir="${empty.dir}"/>
|
<mkdir dir="${empty.dir}"/>
|
||||||
<mkdir dir="@{apgeneratedsrcdir}"/>
|
<mkdir dir="@{apgeneratedsrcdir}"/>
|
||||||
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
|
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
|
||||||
<src>
|
<src>
|
||||||
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
||||||
<include name="*"/>
|
<include name="*"/>
|
||||||
@ -437,7 +459,7 @@ is divided into following sections:
|
|||||||
<sequential>
|
<sequential>
|
||||||
<property location="${build.dir}/empty" name="empty.dir"/>
|
<property location="${build.dir}/empty" name="empty.dir"/>
|
||||||
<mkdir dir="${empty.dir}"/>
|
<mkdir dir="${empty.dir}"/>
|
||||||
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
|
<javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
|
||||||
<src>
|
<src>
|
||||||
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
<dirset dir="@{gensrcdir}" erroronmissingdir="false">
|
||||||
<include name="*"/>
|
<include name="*"/>
|
||||||
@ -516,7 +538,7 @@ is divided into following sections:
|
|||||||
<element name="customizePrototype" optional="true"/>
|
<element name="customizePrototype" optional="true"/>
|
||||||
<sequential>
|
<sequential>
|
||||||
<property name="junit.forkmode" value="perTest"/>
|
<property name="junit.forkmode" value="perTest"/>
|
||||||
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
|
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
|
||||||
<syspropertyset>
|
<syspropertyset>
|
||||||
<propertyref prefix="test-sys-prop."/>
|
<propertyref prefix="test-sys-prop."/>
|
||||||
<mapper from="test-sys-prop.*" to="*" type="glob"/>
|
<mapper from="test-sys-prop.*" to="*" type="glob"/>
|
||||||
@ -544,7 +566,7 @@ is divided into following sections:
|
|||||||
<element name="customizePrototype" optional="true"/>
|
<element name="customizePrototype" optional="true"/>
|
||||||
<sequential>
|
<sequential>
|
||||||
<property name="junit.forkmode" value="perTest"/>
|
<property name="junit.forkmode" value="perTest"/>
|
||||||
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
|
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" jvm="${platform.java}" showoutput="true" tempdir="${build.dir}">
|
||||||
<syspropertyset>
|
<syspropertyset>
|
||||||
<propertyref prefix="test-sys-prop."/>
|
<propertyref prefix="test-sys-prop."/>
|
||||||
<mapper from="test-sys-prop.*" to="*" type="glob"/>
|
<mapper from="test-sys-prop.*" to="*" type="glob"/>
|
||||||
@ -620,7 +642,7 @@ is divided into following sections:
|
|||||||
</fileset>
|
</fileset>
|
||||||
</union>
|
</union>
|
||||||
<taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
|
<taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
|
||||||
<testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="MP2-chapter4_CalebFontenot" testname="TestNG tests" workingDir="${work.dir}">
|
<testng classfilesetref="test.set" failureProperty="tests.failed" jvm="${platform.java}" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="MP2-chapter4_CalebFontenot" testname="TestNG tests" workingDir="${work.dir}">
|
||||||
<xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
|
<xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
|
||||||
<propertyset>
|
<propertyset>
|
||||||
<propertyref prefix="test-sys-prop."/>
|
<propertyref prefix="test-sys-prop."/>
|
||||||
@ -851,6 +873,9 @@ is divided into following sections:
|
|||||||
<classpath>
|
<classpath>
|
||||||
<path path="@{classpath}"/>
|
<path path="@{classpath}"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
<bootclasspath>
|
||||||
|
<path path="${platform.bootcp}"/>
|
||||||
|
</bootclasspath>
|
||||||
</nbjpdastart>
|
</nbjpdastart>
|
||||||
</sequential>
|
</sequential>
|
||||||
</macrodef>
|
</macrodef>
|
||||||
@ -900,7 +925,7 @@ is divided into following sections:
|
|||||||
<attribute default="jvm" name="jvm"/>
|
<attribute default="jvm" name="jvm"/>
|
||||||
<element name="customize" optional="true"/>
|
<element name="customize" optional="true"/>
|
||||||
<sequential>
|
<sequential>
|
||||||
<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" module="@{modulename}">
|
<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" jvm="${platform.java}" module="@{modulename}">
|
||||||
<classpath>
|
<classpath>
|
||||||
<path path="@{classpath}"/>
|
<path path="@{classpath}"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
@ -934,7 +959,7 @@ is divided into following sections:
|
|||||||
<attribute default="jvm" name="jvm"/>
|
<attribute default="jvm" name="jvm"/>
|
||||||
<element name="customize" optional="true"/>
|
<element name="customize" optional="true"/>
|
||||||
<sequential>
|
<sequential>
|
||||||
<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
|
<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" jvm="${platform.java}">
|
||||||
<classpath>
|
<classpath>
|
||||||
<path path="@{classpath}"/>
|
<path path="@{classpath}"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
@ -966,7 +991,7 @@ is divided into following sections:
|
|||||||
<attribute default="jvm" name="jvm"/>
|
<attribute default="jvm" name="jvm"/>
|
||||||
<element name="customize" optional="true"/>
|
<element name="customize" optional="true"/>
|
||||||
<sequential>
|
<sequential>
|
||||||
<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
|
<java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" jvm="${platform.java}">
|
||||||
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
|
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
|
||||||
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
|
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
|
||||||
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
|
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
|
||||||
@ -1200,7 +1225,7 @@ is divided into following sections:
|
|||||||
<j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
|
<j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
|
||||||
<echo level="info">To run this application from the command line without Ant, try:</echo>
|
<echo level="info">To run this application from the command line without Ant, try:</echo>
|
||||||
<property location="${dist.jar}" name="dist.jar.resolved"/>
|
<property location="${dist.jar}" name="dist.jar.resolved"/>
|
||||||
<echo level="info">java -jar "${dist.jar.resolved}"</echo>
|
<echo level="info">${platform.java} -jar "${dist.jar.resolved}"</echo>
|
||||||
</target>
|
</target>
|
||||||
<target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-check-do-mkdist" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
|
<target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-check-do-mkdist" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
|
||||||
<j2seproject1:jar manifest="${tmp.manifest.file}"/>
|
<j2seproject1:jar manifest="${tmp.manifest.file}"/>
|
||||||
@ -1302,8 +1327,8 @@ is divided into following sections:
|
|||||||
<isset property="main.class.available"/>
|
<isset property="main.class.available"/>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<property name="platform.jlink" value="${jdk.home}/bin/jlink"/>
|
<property name="platform.jlink" value="${platform.home}/bin/jlink"/>
|
||||||
<property name="jlink.systemmodules.internal" value="${jdk.home}/jmods"/>
|
<property name="jlink.systemmodules.internal" value="${platform.home}/jmods"/>
|
||||||
<exec executable="${platform.jlink}">
|
<exec executable="${platform.jlink}">
|
||||||
<arg value="--module-path"/>
|
<arg value="--module-path"/>
|
||||||
<arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.jar}"/>
|
<arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.jar}"/>
|
||||||
@ -1496,16 +1521,19 @@ is divided into following sections:
|
|||||||
</not>
|
</not>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
|
<exec executable="${platform.java}" failonerror="false" outputproperty="platform.version.output">
|
||||||
|
<arg value="-version"/>
|
||||||
|
</exec>
|
||||||
<condition else="" property="bug5101868workaround" value="*.java">
|
<condition else="" property="bug5101868workaround" value="*.java">
|
||||||
<matches pattern="1\.[56](\..*)?" string="${java.version}"/>
|
<matches multiline="true" pattern="1\.[56](\..*)?" string="${platform.version.output}"/>
|
||||||
</condition>
|
</condition>
|
||||||
<condition else="" property="javadoc.html5.cmd.line.arg" value="-html5">
|
<condition else="" property="javadoc.html5.cmd.line.arg" value="-html5">
|
||||||
<and>
|
<and>
|
||||||
<isset property="javadoc.html5"/>
|
<isset property="javadoc.html5"/>
|
||||||
<available file="${jdk.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
|
<available file="${platform.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
|
||||||
</and>
|
</and>
|
||||||
</condition>
|
</condition>
|
||||||
<javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
|
<javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" executable="${platform.javadoc}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
|
||||||
<classpath>
|
<classpath>
|
||||||
<path path="${javac.classpath}"/>
|
<path path="${javac.classpath}"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
@ -3,6 +3,6 @@ build.xml.script.CRC32=f4beac8b
|
|||||||
build.xml.stylesheet.CRC32=f85dc8f2@1.107.0.48
|
build.xml.stylesheet.CRC32=f85dc8f2@1.107.0.48
|
||||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||||
nbproject/build-impl.xml.data.CRC32=14971581
|
nbproject/build-impl.xml.data.CRC32=1d3703fe
|
||||||
nbproject/build-impl.xml.script.CRC32=e3cc13c1
|
nbproject/build-impl.xml.script.CRC32=4d538bea
|
||||||
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.107.0.48
|
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.107.0.48
|
||||||
|
@ -37,8 +37,7 @@ includes=**
|
|||||||
# Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
|
# Non-JavaFX jar file creation is deactivated in JavaFX 2.0+ projects
|
||||||
jar.archive.disabled=true
|
jar.archive.disabled=true
|
||||||
jar.compress=false
|
jar.compress=false
|
||||||
javac.classpath=\
|
javac.classpath=
|
||||||
${libs.JavaFX20.classpath}
|
|
||||||
# Space-separated list of extra javac options
|
# Space-separated list of extra javac options
|
||||||
javac.compilerargs=
|
javac.compilerargs=
|
||||||
javac.deprecation=false
|
javac.deprecation=false
|
||||||
@ -47,8 +46,8 @@ javac.modulepath=
|
|||||||
javac.processormodulepath=
|
javac.processormodulepath=
|
||||||
javac.processorpath=\
|
javac.processorpath=\
|
||||||
${javac.classpath}
|
${javac.classpath}
|
||||||
javac.source=20
|
javac.source=1.8
|
||||||
javac.target=20
|
javac.target=1.8
|
||||||
javac.test.classpath=\
|
javac.test.classpath=\
|
||||||
${javac.classpath}:\
|
${javac.classpath}:\
|
||||||
${build.classes.dir}
|
${build.classes.dir}
|
||||||
@ -108,7 +107,7 @@ manifest.custom.permissions=
|
|||||||
manifest.file=manifest.mf
|
manifest.file=manifest.mf
|
||||||
meta.inf.dir=${src.dir}/META-INF
|
meta.inf.dir=${src.dir}/META-INF
|
||||||
mkdist.disabled=false
|
mkdist.disabled=false
|
||||||
platform.active=default_platform
|
platform.active=JDK_1.8
|
||||||
run.classpath=\
|
run.classpath=\
|
||||||
${dist.jar}:\
|
${dist.jar}:\
|
||||||
${javac.classpath}:\
|
${javac.classpath}:\
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
</buildExtensions>
|
</buildExtensions>
|
||||||
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
|
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
|
||||||
<name>MP2-chapter4_CalebFontenot</name>
|
<name>MP2-chapter4_CalebFontenot</name>
|
||||||
|
<explicit-platform explicit-source-supported="true"/>
|
||||||
<source-roots>
|
<source-roots>
|
||||||
<root id="src.dir"/>
|
<root id="src.dir"/>
|
||||||
</source-roots>
|
</source-roots>
|
||||||
|
Binary file not shown.
14
Semester 3/Assignments/lab6_generics_CalebFontenot/pom.xml
Normal file
14
Semester 3/Assignments/lab6_generics_CalebFontenot/pom.xml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>edu.slcc.asdv.caleb</groupId>
|
||||||
|
<artifactId>lab6_generics_CalebFontenot</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<exec.mainClass>edu.slcc.asdv.caleb.lab6_generics_calebfontenot.Lab6_generics_CalebFontenot</exec.mainClass>
|
||||||
|
</properties>
|
||||||
|
</project>
|
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
*/
|
||||||
|
|
||||||
|
package edu.slcc.asdv.caleb.lab6_generics_calebfontenot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class Lab6_generics_CalebFontenot {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Hello World!");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package edu.slcc.asdv.caleb.lab6_generics_calebfontenot;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class Max {
|
||||||
|
|
||||||
|
public static Comparable max(Comparable o1, Comparable o2)
|
||||||
|
{
|
||||||
|
if (o1.compareTo(o2) > 0) {
|
||||||
|
return o1;
|
||||||
|
} else {
|
||||||
|
return o2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static <E extends Comparable<E>> E maxSafe(E e1, E e2) {
|
||||||
|
if(e1.compareTo(e2) > 0) {
|
||||||
|
return e1;
|
||||||
|
} else {
|
||||||
|
return e2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
System.out.println(max(1, 2));
|
||||||
|
try {
|
||||||
|
System.out.println(maxSafe(1, 2));
|
||||||
|
System.out.println(maxSafe("abc", "ABC"));
|
||||||
|
System.out.println();
|
||||||
|
//System.out.println(maxSafe(1, "two"));
|
||||||
|
System.out.println("This line compiles but crashes the program " + max(1, "two"));
|
||||||
|
} catch (ClassCastException e) {
|
||||||
|
System.err.println("RAW TYPES ARE UNSAFE " + e.getMessage()) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
Semester 3/GenericStack/pom.xml
Normal file
14
Semester 3/GenericStack/pom.xml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>edu.slcc.asdv.caleb</groupId>
|
||||||
|
<artifactId>GenericStack</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<exec.mainClass>edu.slcc.asdv.caleb.genericstack.GenericStack</exec.mainClass>
|
||||||
|
</properties>
|
||||||
|
</project>
|
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
*/
|
||||||
|
package edu.slcc.asdv.caleb.genericstack;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.EmptyStackException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class GenericStack<T> {
|
||||||
|
|
||||||
|
private T[] elements;
|
||||||
|
ArrayList<T> elementsList = new ArrayList<T>();
|
||||||
|
private int top;
|
||||||
|
static int size = 4;
|
||||||
|
|
||||||
|
public GenericStack(int size) {
|
||||||
|
elements = (T[]) new Object[size];
|
||||||
|
}
|
||||||
|
public GenericStack()
|
||||||
|
{
|
||||||
|
elements = (T[]) new Object[size];
|
||||||
|
}
|
||||||
|
public boolean push (T element) {
|
||||||
|
if (top == size) {
|
||||||
|
throw new StackOverflowError();
|
||||||
|
}
|
||||||
|
elements[top++] = element;
|
||||||
|
elementsList.add(element);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T pop() {
|
||||||
|
if (top == 0) {
|
||||||
|
throw new EmptyStackException();
|
||||||
|
}
|
||||||
|
--top;
|
||||||
|
elementsList.remove(top);
|
||||||
|
return elements[top];
|
||||||
|
}
|
||||||
|
|
||||||
|
public T peek() {
|
||||||
|
if (top == 0) {
|
||||||
|
throw new EmptyStackException();
|
||||||
|
}
|
||||||
|
return elements[top - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
String returnString = "";
|
||||||
|
for (int i = top -1; i >= 0; --i) {
|
||||||
|
returnString += elements[i].toString() + ", ";
|
||||||
|
}
|
||||||
|
return returnString;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package edu.slcc.asdv.caleb.genericstack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class Max {
|
||||||
|
public static <E extends Comparable> E max(E e1, E e2) {
|
||||||
|
return e1.compareTo(e2) >= 0 ? e1 : e2;
|
||||||
|
}
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
Object o1 = new Object();
|
||||||
|
Object o2 = new Object();
|
||||||
|
System.out.println(Max.max(o1, o2));
|
||||||
|
System.out.println(Max.max(2, 4));
|
||||||
|
System.out.println(Max.max("abc", "defg"));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package edu.slcc.asdv.caleb.genericstack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class TestStack {
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
GenericStack<Integer> gsi = new GenericStack(4);
|
||||||
|
|
||||||
|
gsi.push(10);
|
||||||
|
gsi.push(20);
|
||||||
|
// gsi.push(30);
|
||||||
|
//gsi.push(40);
|
||||||
|
//gsi.pop();
|
||||||
|
//gsi.push(50);
|
||||||
|
|
||||||
|
System.out.println(gsi.toString());
|
||||||
|
}
|
||||||
|
}
|
14
Semester 3/mavenproject1/pom.xml
Normal file
14
Semester 3/mavenproject1/pom.xml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>edu.slcc.asdv.caleb</groupId>
|
||||||
|
<artifactId>mavenproject1</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
<exec.mainClass>edu.slcc.asdv.caleb.mavenproject1.Mavenproject1</exec.mainClass>
|
||||||
|
</properties>
|
||||||
|
</project>
|
@ -0,0 +1,43 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||||
|
*/
|
||||||
|
package edu.slcc.asdv.caleb.mavenproject1;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class GenericsTest {
|
||||||
|
public static int f3(ArrayList<? extends Number> list) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
public static int f1(ArrayList<Number> list) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void f2(Number n) {
|
||||||
|
|
||||||
|
}
|
||||||
|
void f5() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args)
|
||||||
|
{
|
||||||
|
|
||||||
|
ArrayList<Integer> l1 = new ArrayList<Integer>();
|
||||||
|
f3(l1);
|
||||||
|
Integer i = 10;
|
||||||
|
f2(i);
|
||||||
|
ArrayList<Number> l2 = l1;
|
||||||
|
ArrayList<? extends Number> l3 = l1;
|
||||||
|
f3(i);
|
||||||
|
f3(new ArrayList<Double>());
|
||||||
|
|
||||||
|
Object o = new A();
|
||||||
|
f5((A) )
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
*/
|
||||||
|
|
||||||
|
package edu.slcc.asdv.caleb.mavenproject1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author caleb
|
||||||
|
*/
|
||||||
|
public class Mavenproject1 {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("Hello World!");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user