Edit C:\apache-ant-1.8.0\docs\manual\api\org\apache\tools\ant\util\SymbolicLinkUtils.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.5.0_22) on Mon Feb 01 19:36:00 EST 2010 --> <TITLE> SymbolicLinkUtils (Apache Ant API) </TITLE> <META NAME="keywords" CONTENT="org.apache.tools.ant.util.SymbolicLinkUtils class"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { parent.document.title="SymbolicLinkUtils (Apache Ant API)"; } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/tools/ant/util/StringUtils.html" title="class in org.apache.tools.ant.util"><B>PREV CLASS</B></A> <A HREF="../../../../../org/apache/tools/ant/util/TaskLogger.html" title="class in org.apache.tools.ant.util"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?org/apache/tools/ant/util/SymbolicLinkUtils.html" target="_top"><B>FRAMES</B></A> <A HREF="SymbolicLinkUtils.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <!-- ======== START OF CLASS DATA ======== --> <H2> <FONT SIZE="-1"> org.apache.tools.ant.util</FONT> <BR> Class SymbolicLinkUtils</H2> <PRE> java.lang.Object <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.tools.ant.util.SymbolicLinkUtils</B> </PRE> <HR> <DL> <DT><PRE>public class <B>SymbolicLinkUtils</B><DT>extends java.lang.Object</DL> </PRE> <P> Contains methods related to symbolic links - or what Ant thinks is a symbolic link based on the absent support for them in Java. <P> <P> <DL> <DT><B>Since:</B></DT> <DD>Ant 1.8.0</DD> </DL> <HR> <P> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <A NAME="constructor_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Constructor Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>protected </CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#SymbolicLinkUtils()">SymbolicLinkUtils</A></B>()</CODE> <BR> Empty constructor.</TD> </TR> </TABLE> <!-- ========== METHOD SUMMARY =========== --> <A NAME="method_summary"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Method Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> void</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#deleteSymbolicLink(java.io.File, org.apache.tools.ant.Task)">deleteSymbolicLink</A></B>(java.io.File link, <A HREF="../../../../../org/apache/tools/ant/Task.html" title="class in org.apache.tools.ant">Task</A> task)</CODE> <BR> Delete a symlink (without deleting the associated resource).</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE>static <A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html" title="class in org.apache.tools.ant.util">SymbolicLinkUtils</A></CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#getSymbolicLinkUtils()">getSymbolicLinkUtils</A></B>()</CODE> <BR> Method to retrieve The SymbolicLinkUtils, which is shared by all users of this method.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#isDanglingSymbolicLink(java.io.File)">isDanglingSymbolicLink</A></B>(java.io.File file)</CODE> <BR> Checks whether a given file is a broken symbolic link.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#isDanglingSymbolicLink(java.io.File, java.lang.String)">isDanglingSymbolicLink</A></B>(java.io.File parent, java.lang.String name)</CODE> <BR> Checks whether a given file is a broken symbolic link.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#isDanglingSymbolicLink(java.lang.String)">isDanglingSymbolicLink</A></B>(java.lang.String name)</CODE> <BR> Checks whether a given file is a broken symbolic link.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#isSymbolicLink(java.io.File)">isSymbolicLink</A></B>(java.io.File file)</CODE> <BR> Checks whether a given file is a symbolic link.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#isSymbolicLink(java.io.File, java.lang.String)">isSymbolicLink</A></B>(java.io.File parent, java.lang.String name)</CODE> <BR> Checks whether a given file is a symbolic link.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> <CODE> boolean</CODE></FONT></TD> <TD><CODE><B><A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html#isSymbolicLink(java.lang.String)">isSymbolicLink</A></B>(java.lang.String name)</CODE> <BR> Checks whether a given file is a symbolic link.</TD> </TR> </TABLE> <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor"> <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD> </TR> </TABLE> <P> <!-- ========= CONSTRUCTOR DETAIL ======== --> <A NAME="constructor_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Constructor Detail</B></FONT></TH> </TR> </TABLE> <A NAME="SymbolicLinkUtils()"><!-- --></A><H3> SymbolicLinkUtils</H3> <PRE> protected <B>SymbolicLinkUtils</B>()</PRE> <DL> <DD>Empty constructor. <P> </DL> <!-- ============ METHOD DETAIL ========== --> <A NAME="method_detail"><!-- --></A> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> <B>Method Detail</B></FONT></TH> </TR> </TABLE> <A NAME="getSymbolicLinkUtils()"><!-- --></A><H3> getSymbolicLinkUtils</H3> <PRE> public static <A HREF="../../../../../org/apache/tools/ant/util/SymbolicLinkUtils.html" title="class in org.apache.tools.ant.util">SymbolicLinkUtils</A> <B>getSymbolicLinkUtils</B>()</PRE> <DL> <DD>Method to retrieve The SymbolicLinkUtils, which is shared by all users of this method. <P> <DD><DL> <DT><B>Returns:</B><DD>an instance of SymbolicLinkUtils.</DL> </DD> </DL> <HR> <A NAME="isSymbolicLink(java.io.File)"><!-- --></A><H3> isSymbolicLink</H3> <PRE> public boolean <B>isSymbolicLink</B>(java.io.File file) throws java.io.IOException</PRE> <DL> <DD>Checks whether a given file is a symbolic link. <p>It doesn't really test for symbolic links but whether the canonical and absolute paths of the file are identical--this may lead to false positives on some platforms.</p> <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>file</CODE> - the file to test. <DT><B>Returns:</B><DD>true if the file is a symbolic link. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE> - on error.</DL> </DD> </DL> <HR> <A NAME="isSymbolicLink(java.lang.String)"><!-- --></A><H3> isSymbolicLink</H3> <PRE> public boolean <B>isSymbolicLink</B>(java.lang.String name) throws java.io.IOException</PRE> <DL> <DD>Checks whether a given file is a symbolic link. <p>It doesn't really test for symbolic links but whether the canonical and absolute paths of the file are identical--this may lead to false positives on some platforms.</p> <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the file to test. <DT><B>Returns:</B><DD>true if the file is a symbolic link. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE> - on error.</DL> </DD> </DL> <HR> <A NAME="isSymbolicLink(java.io.File, java.lang.String)"><!-- --></A><H3> isSymbolicLink</H3> <PRE> public boolean <B>isSymbolicLink</B>(java.io.File parent, java.lang.String name) throws java.io.IOException</PRE> <DL> <DD>Checks whether a given file is a symbolic link. <p>It doesn't really test for symbolic links but whether the canonical and absolute paths of the file are identical--this may lead to false positives on some platforms.</p> <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent directory of the file to test<DD><CODE>name</CODE> - the name of the file to test. <DT><B>Returns:</B><DD>true if the file is a symbolic link. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE> - on error.</DL> </DD> </DL> <HR> <A NAME="isDanglingSymbolicLink(java.lang.String)"><!-- --></A><H3> isDanglingSymbolicLink</H3> <PRE> public boolean <B>isDanglingSymbolicLink</B>(java.lang.String name) throws java.io.IOException</PRE> <DL> <DD>Checks whether a given file is a broken symbolic link. <p>It doesn't really test for symbolic links but whether Java reports that the File doesn't exist but its parent's child list contains it--this may lead to false positives on some platforms.</p> <p>Note that #isSymbolicLink returns false if this method returns true since Java won't produce a canonical name different from the abolute one if the link is broken.</p> <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the file to test. <DT><B>Returns:</B><DD>true if the file is a broken symbolic link. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE> - on error.</DL> </DD> </DL> <HR> <A NAME="isDanglingSymbolicLink(java.io.File)"><!-- --></A><H3> isDanglingSymbolicLink</H3> <PRE> public boolean <B>isDanglingSymbolicLink</B>(java.io.File file) throws java.io.IOException</PRE> <DL> <DD>Checks whether a given file is a broken symbolic link. <p>It doesn't really test for symbolic links but whether Java reports that the File doesn't exist but its parent's child list contains it--this may lead to false positives on some platforms.</p> <p>Note that #isSymbolicLink returns false if this method returns true since Java won't produce a canonical name different from the abolute one if the link is broken.</p> <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>file</CODE> - the file to test. <DT><B>Returns:</B><DD>true if the file is a broken symbolic link. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE> - on error.</DL> </DD> </DL> <HR> <A NAME="isDanglingSymbolicLink(java.io.File, java.lang.String)"><!-- --></A><H3> isDanglingSymbolicLink</H3> <PRE> public boolean <B>isDanglingSymbolicLink</B>(java.io.File parent, java.lang.String name) throws java.io.IOException</PRE> <DL> <DD>Checks whether a given file is a broken symbolic link. <p>It doesn't really test for symbolic links but whether Java reports that the File doesn't exist but its parent's child list contains it--this may lead to false positives on some platforms.</p> <p>Note that #isSymbolicLink returns false if this method returns true since Java won't produce a canonical name different from the abolute one if the link is broken.</p> <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>parent</CODE> - the parent directory of the file to test<DD><CODE>name</CODE> - the name of the file to test. <DT><B>Returns:</B><DD>true if the file is a broken symbolic link. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE> - on error.</DL> </DD> </DL> <HR> <A NAME="deleteSymbolicLink(java.io.File, org.apache.tools.ant.Task)"><!-- --></A><H3> deleteSymbolicLink</H3> <PRE> public void <B>deleteSymbolicLink</B>(java.io.File link, <A HREF="../../../../../org/apache/tools/ant/Task.html" title="class in org.apache.tools.ant">Task</A> task) throws java.io.IOException</PRE> <DL> <DD>Delete a symlink (without deleting the associated resource). <p>This is a utility method that removes a unix symlink without removing the resource that the symlink points to. If it is accidentally invoked on a real file, the real file will not be harmed, but silently ignored.</p> <p>Normaly this method works by getting the canonical path of the link, using the canonical path to rename the resource (breaking the link) and then deleting the link. The resource is then returned to its original name inside a finally block to ensure that the resource is unharmed even in the event of an exception.</p> <p>There may be cases where the algorithm described above doesn't work, in that case the method tries to use the native "rm" command on the symlink instead.</p> <P> <DD><DL> <DT><B>Parameters:</B><DD><CODE>link</CODE> - A <code>File</code> object of the symlink to delete.<DD><CODE>task</CODE> - An Ant Task required if "rm" needs to be invoked. <DT><B>Throws:</B> <DD><CODE>java.io.IOException</CODE> - If calls to <code>File.rename</code>, <code>File.delete</code> or <code>File.getCanonicalPath</code> fail. <DD><CODE><A HREF="../../../../../org/apache/tools/ant/BuildException.html" title="class in org.apache.tools.ant">BuildException</A></CODE> - if the execution of "rm" failed.</DL> </DD> </DL> <!-- ========= END OF CLASS DATA ========= --> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/tools/ant/util/StringUtils.html" title="class in org.apache.tools.ant.util"><B>PREV CLASS</B></A> <A HREF="../../../../../org/apache/tools/ant/util/TaskLogger.html" title="class in org.apache.tools.ant.util"><B>NEXT CLASS</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?org/apache/tools/ant/util/SymbolicLinkUtils.html" target="_top"><B>FRAMES</B></A> <A HREF="SymbolicLinkUtils.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> <TR> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD> <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> </BODY> </HTML>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de