2012-12-27 17:44:04 +01:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
< html lang = "en" >
< head >
2013-01-10 00:58:34 +01:00
<!-- Generated by javadoc (version 1.7.0_07) on Thu Jan 10 00:56:15 CET 2013 -->
2012-12-27 17:44:04 +01:00
< title > ImmutableDetector< / title >
2013-01-10 00:58:34 +01:00
< meta name = "date" content = "2013-01-10" >
2012-12-27 17:44:04 +01:00
< link rel = "stylesheet" type = "text/css" href = "../../../../../stylesheet.css" title = "Style" >
< / head >
< body >
< script type = "text/javascript" > < ! - -
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ImmutableDetector";
}
//-->
< / script >
< noscript >
< div > JavaScript is disabled on your browser.< / div >
< / noscript >
<!-- ========= START OF TOP NAVBAR ======= -->
< div class = "topNav" > < a name = "navbar_top" >
<!-- -->
< / a > < a href = "#skip-navbar_top" title = "Skip navigation links" > < / a > < a name = "navbar_top_firstrow" >
<!-- -->
< / a >
< ul class = "navList" title = "Navigation" >
< li > < a href = "../../../../../overview-summary.html" > Overview< / a > < / li >
< li > < a href = "package-summary.html" > Package< / a > < / li >
< li class = "navBarCell1Rev" > Class< / li >
< li > < a href = "class-use/ImmutableDetector.html" > Use< / a > < / li >
< li > < a href = "package-tree.html" > Tree< / a > < / li >
< li > < a href = "../../../../../deprecated-list.html" > Deprecated< / a > < / li >
< li > < a href = "../../../../../index-files/index-1.html" > Index< / a > < / li >
< li > < a href = "../../../../../help-doc.html" > Help< / a > < / li >
< / ul >
< / div >
< div class = "subNav" >
< ul class = "navList" >
< li > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/FieldCloner.html" title = "class in com.comphenix.protocol.reflect.cloning" > < span class = "strong" > Prev Class< / span > < / a > < / li >
< li > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/NullableCloner.html" title = "class in com.comphenix.protocol.reflect.cloning" > < span class = "strong" > Next Class< / span > < / a > < / li >
< / ul >
< ul class = "navList" >
< li > < a href = "../../../../../index.html?com/comphenix/protocol/reflect/cloning/ImmutableDetector.html" target = "_top" > Frames< / a > < / li >
< li > < a href = "ImmutableDetector.html" target = "_top" > No Frames< / a > < / li >
< / ul >
< ul class = "navList" id = "allclasses_navbar_top" >
< li > < a href = "../../../../../allclasses-noframe.html" > All Classes< / a > < / li >
< / ul >
< div >
< script type = "text/javascript" > < ! - -
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
< / script >
< / div >
< div >
< ul class = "subNavList" >
< li > Summary: < / li >
< li > Nested | < / li >
< li > Field | < / li >
< li > < a href = "#constructor_summary" > Constr< / a > | < / li >
< li > < a href = "#method_summary" > Method< / a > < / li >
< / ul >
< ul class = "subNavList" >
< li > Detail: < / li >
< li > Field | < / li >
< li > < a href = "#constructor_detail" > Constr< / a > | < / li >
< li > < a href = "#method_detail" > Method< / a > < / li >
< / ul >
< / div >
< a name = "skip-navbar_top" >
<!-- -->
< / a > < / div >
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
< div class = "header" >
< div class = "subTitle" > com.comphenix.protocol.reflect.cloning< / div >
< h2 title = "Class ImmutableDetector" class = "title" > Class ImmutableDetector< / h2 >
< / div >
< div class = "contentContainer" >
< ul class = "inheritance" >
< li > java.lang.Object< / li >
< li >
< ul class = "inheritance" >
< li > com.comphenix.protocol.reflect.cloning.ImmutableDetector< / li >
< / ul >
< / li >
< / ul >
< div class = "description" >
< ul class = "blockList" >
< li class = "blockList" >
< dl >
< dt > All Implemented Interfaces:< / dt >
< dd > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html" title = "interface in com.comphenix.protocol.reflect.cloning" > Cloner< / a > < / dd >
< / dl >
< hr >
< br >
< pre > public class < span class = "strong" > ImmutableDetector< / span >
extends java.lang.Object
implements < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html" title = "interface in com.comphenix.protocol.reflect.cloning" > Cloner< / a > < / pre >
< div class = "block" > Detects classes that are immutable, and thus doesn't require cloning.
< p >
This ought to have no false positives, but plenty of false negatives.< / div >
< dl > < dt > < span class = "strong" > Author:< / span > < / dt >
< dd > Kristian< / dd > < / dl >
< / li >
< / ul >
< / div >
< div class = "summary" >
< ul class = "blockList" >
< li class = "blockList" >
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
< ul class = "blockList" >
< li class = "blockList" > < a name = "constructor_summary" >
<!-- -->
< / a >
< h3 > Constructor Summary< / h3 >
< table class = "overviewSummary" border = "0" cellpadding = "3" cellspacing = "0" summary = "Constructor Summary table, listing constructors, and an explanation" >
< caption > < span > Constructors< / span > < span class = "tabEnd" > < / span > < / caption >
< tr >
< th class = "colOne" scope = "col" > Constructor and Description< / th >
< / tr >
< tr class = "altColor" >
< td class = "colOne" > < code > < strong > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/ImmutableDetector.html#ImmutableDetector()" > ImmutableDetector< / a > < / strong > ()< / code > < / td >
< / tr >
< / table >
< / li >
< / ul >
<!-- ========== METHOD SUMMARY =========== -->
< ul class = "blockList" >
< li class = "blockList" > < a name = "method_summary" >
<!-- -->
< / a >
< h3 > Method Summary< / h3 >
< table class = "overviewSummary" border = "0" cellpadding = "3" cellspacing = "0" summary = "Method Summary table, listing methods, and an explanation" >
< caption > < span > Methods< / span > < span class = "tabEnd" > < / span > < / caption >
< tr >
< th class = "colFirst" scope = "col" > Modifier and Type< / th >
< th class = "colLast" scope = "col" > Method and Description< / th >
< / tr >
< tr class = "altColor" >
< td class = "colFirst" > < code > boolean< / code > < / td >
< td class = "colLast" > < code > < strong > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/ImmutableDetector.html#canClone(java.lang.Object)" > canClone< / a > < / strong > (java.lang.Object source)< / code >
< div class = "block" > Determine whether or not the current cloner can clone the given object.< / div >
< / td >
< / tr >
< tr class = "rowColor" >
< td class = "colFirst" > < code > java.lang.Object< / code > < / td >
< td class = "colLast" > < code > < strong > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/ImmutableDetector.html#clone(java.lang.Object)" > clone< / a > < / strong > (java.lang.Object source)< / code >
< div class = "block" > Perform the clone.< / div >
< / td >
< / tr >
< tr class = "altColor" >
< td class = "colFirst" > < code > static boolean< / code > < / td >
< td class = "colLast" > < code > < strong > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/ImmutableDetector.html#isImmutable(java.lang.Class)" > isImmutable< / a > < / strong > (java.lang.Class< ?> type)< / code >
< div class = "block" > Determine if the given type is probably immutable.< / div >
< / td >
< / tr >
< / table >
< ul class = "blockList" >
< li class = "blockList" > < a name = "methods_inherited_from_class_java.lang.Object" >
<!-- -->
< / a >
< h3 > Methods inherited from class java.lang.Object< / h3 >
< code > clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait< / code > < / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< div class = "details" >
< ul class = "blockList" >
< li class = "blockList" >
<!-- ========= CONSTRUCTOR DETAIL ======== -->
< ul class = "blockList" >
< li class = "blockList" > < a name = "constructor_detail" >
<!-- -->
< / a >
< h3 > Constructor Detail< / h3 >
< a name = "ImmutableDetector()" >
<!-- -->
< / a >
< ul class = "blockListLast" >
< li class = "blockList" >
< h4 > ImmutableDetector< / h4 >
< pre > public ImmutableDetector()< / pre >
< / li >
< / ul >
< / li >
< / ul >
<!-- ============ METHOD DETAIL ========== -->
< ul class = "blockList" >
< li class = "blockList" > < a name = "method_detail" >
<!-- -->
< / a >
< h3 > Method Detail< / h3 >
< a name = "canClone(java.lang.Object)" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > canClone< / h4 >
< pre > public boolean canClone(java.lang.Object source)< / pre >
< div class = "block" > < strong > Description copied from interface: < code > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html#canClone(java.lang.Object)" > Cloner< / a > < / code > < / strong > < / div >
< div class = "block" > Determine whether or not the current cloner can clone the given object.< / div >
< dl >
< dt > < strong > Specified by:< / strong > < / dt >
< dd > < code > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html#canClone(java.lang.Object)" > canClone< / a > < / code > in interface < code > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html" title = "interface in com.comphenix.protocol.reflect.cloning" > Cloner< / a > < / code > < / dd >
< dt > < span class = "strong" > Parameters:< / span > < / dt > < dd > < code > source< / code > - - the object that is being considered.< / dd >
< dt > < span class = "strong" > Returns:< / span > < / dt > < dd > TRUE if this cloner can actually clone the given object, FALSE otherwise.< / dd > < / dl >
< / li >
< / ul >
< a name = "isImmutable(java.lang.Class)" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > isImmutable< / h4 >
< pre > public static boolean isImmutable(java.lang.Class< ?> type)< / pre >
< div class = "block" > Determine if the given type is probably immutable.< / div >
< dl > < dt > < span class = "strong" > Parameters:< / span > < / dt > < dd > < code > type< / code > - - the type to check.< / dd >
< dt > < span class = "strong" > Returns:< / span > < / dt > < dd > TRUE if the type is immutable, FALSE otherwise.< / dd > < / dl >
< / li >
< / ul >
< a name = "clone(java.lang.Object)" >
<!-- -->
< / a >
< ul class = "blockListLast" >
< li class = "blockList" >
< h4 > clone< / h4 >
< pre > public java.lang.Object clone(java.lang.Object source)< / pre >
< div class = "block" > < strong > Description copied from interface: < code > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html#clone(java.lang.Object)" > Cloner< / a > < / code > < / strong > < / div >
< div class = "block" > Perform the clone.
< p >
This method should never be called unless a corresponding < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html#canClone(java.lang.Object)" > < code > Cloner.canClone(Object)< / code > < / a > returns TRUE.< / div >
< dl >
< dt > < strong > Specified by:< / strong > < / dt >
< dd > < code > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html#clone(java.lang.Object)" > clone< / a > < / code > in interface < code > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/Cloner.html" title = "interface in com.comphenix.protocol.reflect.cloning" > Cloner< / a > < / code > < / dd >
< dt > < span class = "strong" > Parameters:< / span > < / dt > < dd > < code > source< / code > - - the value to clone.< / dd >
< dt > < span class = "strong" > Returns:< / span > < / dt > < dd > A cloned value.< / dd > < / dl >
< / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< / div >
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
< div class = "bottomNav" > < a name = "navbar_bottom" >
<!-- -->
< / a > < a href = "#skip-navbar_bottom" title = "Skip navigation links" > < / a > < a name = "navbar_bottom_firstrow" >
<!-- -->
< / a >
< ul class = "navList" title = "Navigation" >
< li > < a href = "../../../../../overview-summary.html" > Overview< / a > < / li >
< li > < a href = "package-summary.html" > Package< / a > < / li >
< li class = "navBarCell1Rev" > Class< / li >
< li > < a href = "class-use/ImmutableDetector.html" > Use< / a > < / li >
< li > < a href = "package-tree.html" > Tree< / a > < / li >
< li > < a href = "../../../../../deprecated-list.html" > Deprecated< / a > < / li >
< li > < a href = "../../../../../index-files/index-1.html" > Index< / a > < / li >
< li > < a href = "../../../../../help-doc.html" > Help< / a > < / li >
< / ul >
< / div >
< div class = "subNav" >
< ul class = "navList" >
< li > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/FieldCloner.html" title = "class in com.comphenix.protocol.reflect.cloning" > < span class = "strong" > Prev Class< / span > < / a > < / li >
< li > < a href = "../../../../../com/comphenix/protocol/reflect/cloning/NullableCloner.html" title = "class in com.comphenix.protocol.reflect.cloning" > < span class = "strong" > Next Class< / span > < / a > < / li >
< / ul >
< ul class = "navList" >
< li > < a href = "../../../../../index.html?com/comphenix/protocol/reflect/cloning/ImmutableDetector.html" target = "_top" > Frames< / a > < / li >
< li > < a href = "ImmutableDetector.html" target = "_top" > No Frames< / a > < / li >
< / ul >
< ul class = "navList" id = "allclasses_navbar_bottom" >
< li > < a href = "../../../../../allclasses-noframe.html" > All Classes< / a > < / li >
< / ul >
< div >
< script type = "text/javascript" > < ! - -
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
< / script >
< / div >
< div >
< ul class = "subNavList" >
< li > Summary: < / li >
< li > Nested | < / li >
< li > Field | < / li >
< li > < a href = "#constructor_summary" > Constr< / a > | < / li >
< li > < a href = "#method_summary" > Method< / a > < / li >
< / ul >
< ul class = "subNavList" >
< li > Detail: < / li >
< li > Field | < / li >
< li > < a href = "#constructor_detail" > Constr< / a > | < / li >
< li > < a href = "#method_detail" > Method< / a > < / li >
< / ul >
< / div >
< a name = "skip-navbar_bottom" >
<!-- -->
< / a > < / div >
<!-- ======== END OF BOTTOM NAVBAR ======= -->
< / body >
< / html >