<!DOCTYPE html >
<html>
        <head>
          <title>pimps - Ignite Scalar - org.apache.ignite.scalar.pimps</title>
          <meta name="description" content="pimps - Ignite Scalar - org.apache.ignite.scalar.pimps" />
          <meta name="keywords" content="pimps Ignite Scalar org.apache.ignite.scalar.pimps" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link href="../../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
      <script type="text/javascript" src="../../../../../lib/jquery.js" id="jquery-js"></script>
      <script type="text/javascript" src="../../../../../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../../../../../lib/template.js"></script>
      <script type="text/javascript" src="../../../../../lib/tools.tooltip.js"></script>
      
      <script type="text/javascript">
         if(top === self) {
            var url = '../../../../../index.html';
            var hash = 'org.apache.ignite.scalar.pimps.package';
            var anchor = window.location.hash;
            var anchor_opt = '';
            if (anchor.length >= 1)
              anchor_opt = '@' + anchor.substring(1);
            window.location.href = url + '#' + hash + anchor_opt;
         }
   	  </script>
    
        <link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
</head>

        <body class="value">
      <div id="definition">
        <img alt="Package" src="../../../../../lib/package_big.png" />
        <p id="owner"><a href="../../../../package.html" class="extype" name="org">org</a>.<a href="../../../package.html" class="extype" name="org.apache">apache</a>.<a href="../../package.html" class="extype" name="org.apache.ignite">ignite</a>.<a href="../package.html" class="extype" name="org.apache.ignite.scalar">scalar</a></p>
        <h1>pimps</h1><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">package</span>
      </span>
      <span class="symbol">
        <span class="name">pimps</span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="comment cmt"><p>Contains Scala &quot;Pimp&quot; implementations for main Ignite entities.
</p></div><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div></div>
        

      <div id="mbrsel">
        <div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
        <div id="order">
              <span class="filtertype">Ordering</span>
              <ol>
                
                <li class="alpha in"><span>Alphabetic</span></li>
                <li class="inherit out"><span>By Inheritance</span></li>
              </ol>
            </div>
        <div id="ancestors">
                <span class="filtertype">Inherited<br />
                </span>
                <ol id="linearization">
                  <li class="in" name="org.apache.ignite.scalar.pimps"><span>pimps</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
                </ol>
              </div><div id="ancestors">
            <span class="filtertype"></span>
            <ol>
              <li class="hideall out"><span>Hide All</span></li>
              <li class="showall in"><span>Show All</span></li>
            </ol>
          </div>
        <div id="visbl">
            <span class="filtertype">Visibility</span>
            <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
          </div>
      </div>

      <div id="template">
        <div id="allMembers">
        

        <div id="types" class="types members">
              <h3>Type Members</h3>
              <ol><li name="org.apache.ignite.scalar.pimps.PimpedType" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="PimpedType[X]extendsAnyRef"></a>
      <a id="PimpedType[X]:PimpedType[X]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">trait</span>
      </span>
      <span class="symbol">
        <a href="PimpedType.html"><span class="name">PimpedType</span></a><span class="tparams">[<span name="X">X</span>]</span><span class="result"> extends <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@PimpedType[X]extendsAnyRef" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Sub class to create a wrapper type for <code>X</code> as documentation that the sub class follows the
'pimp my library' pattern.</p><div class="fullcomment"><div class="comment cmt"><p>Sub class to create a wrapper type for <code>X</code> as documentation that the sub class follows the
'pimp my library' pattern. http://www.artima.com/weblogs/viewpost.jsp?thread=179766</p><p>The companion object provides an implicit conversion to unwrap <code>value</code>.
</p></div></div>
    </li><li name="org.apache.ignite.scalar.pimps.ScalarCachePimp" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ScalarCachePimp[K,V]extendsPimpedType[org.apache.ignite.IgniteCache[K,V]]withIterable[javax.cache.Cache.Entry[K,V]]withOrdered[org.apache.ignite.IgniteCache[K,V]]"></a>
      <a id="ScalarCachePimp[K,V]:ScalarCachePimp[K,V]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="ScalarCachePimp.html"><span class="name">ScalarCachePimp</span></a><span class="tparams">[<span name="K">K</span>, <span name="V">V</span>]</span><span class="result"> extends <a href="PimpedType.html" class="extype" name="org.apache.ignite.scalar.pimps.PimpedType">PimpedType</a>[<span class="extype" name="org.apache.ignite.IgniteCache">IgniteCache</span>[<span class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp.K">K</span>, <span class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp.V">V</span>]] with <span class="extype" name="scala.collection.Iterable">Iterable</span>[<span class="extype" name="javax.cache.Cache.Entry">Entry</span>[<span class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp.K">K</span>, <span class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp.V">V</span>]] with <span class="extype" name="scala.Ordered">Ordered</span>[<span class="extype" name="org.apache.ignite.IgniteCache">IgniteCache</span>[<span class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp.K">K</span>, <span class="extype" name="org.apache.ignite.scalar.pimps.ScalarCachePimp.V">V</span>]]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@ScalarCachePimp[K,V]extendsPimpedType[org.apache.ignite.IgniteCache[K,V]]withIterable[javax.cache.Cache.Entry[K,V]]withOrdered[org.apache.ignite.IgniteCache[K,V]]" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Defines Scalar &quot;pimp&quot; for <code>IgniteCache</code> on Java side.</p><div class="fullcomment"><div class="comment cmt"><h4>Overview</h4><p>Defines Scalar &quot;pimp&quot; for <code>IgniteCache</code> on Java side.</p><p>Essentially this class extends Java <code>IgniteCache</code> interface with Scala specific
API adapters using primarily implicit conversions defined in <code>ScalarConversions</code> object. What
it means is that you can use functions defined in this class on object
of Java <code>IgniteCache</code> type. Scala will automatically (implicitly) convert it into
Scalar's pimp and replace the original call with a call on that pimp.</p><p>Note that Scalar provide extensive library of implicit conversion between Java and
Scala Ignite counterparts in <code>ScalarConversions</code> object</p><h4>Suffix '$' In Names</h4><p>Symbol <code>$</code> is used in names when they conflict with the names in the base Java class
that Scala pimp is shadowing or with Java package name that your Scala code is importing.
Instead of giving two different names to the same function we've decided to simply mark
Scala's side method with <code>$</code> suffix.
</p></div></div>
    </li><li name="org.apache.ignite.scalar.pimps.ScalarGridPimp" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ScalarGridPimpextendsScalarProjectionPimp[org.apache.ignite.IgniteCluster]withScalarTaskThreadContext[org.apache.ignite.IgniteCluster]"></a>
      <a id="ScalarGridPimp:ScalarGridPimp"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="ScalarGridPimp.html"><span class="name">ScalarGridPimp</span></a><span class="result"> extends <a href="ScalarProjectionPimp.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp">ScalarProjectionPimp</a>[<span class="extype" name="org.apache.ignite.IgniteCluster">IgniteCluster</span>] with <a href="ScalarTaskThreadContext.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarTaskThreadContext">ScalarTaskThreadContext</a>[<span class="extype" name="org.apache.ignite.IgniteCluster">IgniteCluster</span>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@ScalarGridPimpextendsScalarProjectionPimp[org.apache.ignite.IgniteCluster]withScalarTaskThreadContext[org.apache.ignite.IgniteCluster]" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Defines Scalar &quot;pimp&quot; for <code>Grid</code> on Java side.</p><div class="fullcomment"><div class="comment cmt"><h4>Overview</h4><p>Defines Scalar &quot;pimp&quot; for <code>Grid</code> on Java side.</p><p>Essentially this class extends Java <code>GridProjection</code> interface with Scala specific
API adapters using primarily implicit conversions defined in <code>ScalarConversions</code> object. What
it means is that you can use functions defined in this class on object
of Java <code>GridProjection</code> type. Scala will automatically (implicitly) convert it into
Scalar's pimp and replace the original call with a call on that pimp.</p><p>Note that Scalar provide extensive library of implicit conversion between Java and
Scala Ignite counterparts in <code>ScalarConversions</code> object</p><h4>Suffix '$' In Names</h4><p>Symbol <code>$</code> is used in names when they conflict with the names in the base Java class
that Scala pimp is shadowing or with Java package name that your Scala code is importing.
Instead of giving two different names to the same function we've decided to simply mark
Scala's side method with <code>$</code> suffix.
</p></div></div>
    </li><li name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ScalarProjectionPimp[A<span class='angle_bracket'>&lt;</span>:org.apache.ignite.cluster.ClusterGroup]extendsPimpedType[A]withIterable[org.apache.ignite.cluster.ClusterNode]withScalarTaskThreadContext[A]"></a>
      <a id="ScalarProjectionPimp[A<span class='angle_bracket'>&lt;</span>:ClusterGroup]:ScalarProjectionPimp[A]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <a href="ScalarProjectionPimp.html"><span class="name">ScalarProjectionPimp</span></a><span class="tparams">[<span name="A">A <span class='angle_bracket'>&lt;</span>: <span class="extype" name="org.apache.ignite.cluster.ClusterGroup">ClusterGroup</span></span>]</span><span class="result"> extends <a href="PimpedType.html" class="extype" name="org.apache.ignite.scalar.pimps.PimpedType">PimpedType</a>[<span class="extype" name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp.A">A</span>] with <span class="extype" name="scala.Iterable">Iterable</span>[<span class="extype" name="org.apache.ignite.cluster.ClusterNode">ClusterNode</span>] with <a href="ScalarTaskThreadContext.html" class="extype" name="org.apache.ignite.scalar.pimps.ScalarTaskThreadContext">ScalarTaskThreadContext</a>[<span class="extype" name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp.A">A</span>]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@ScalarProjectionPimp[A<span class='angle_bracket'>&lt;</span>:org.apache.ignite.cluster.ClusterGroup]extendsPimpedType[A]withIterable[org.apache.ignite.cluster.ClusterNode]withScalarTaskThreadContext[A]" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Defines Scalar &quot;pimp&quot; for <code>GridProjection</code> on Java side.</p><div class="fullcomment"><div class="comment cmt"><h4>Overview</h4><p>Defines Scalar &quot;pimp&quot; for <code>GridProjection</code> on Java side.</p><p>Essentially this class extends Java <code>GridProjection</code> interface with Scala specific
API adapters using primarily implicit conversions defined in <code>ScalarConversions</code> object. What
it means is that you can use functions defined in this class on object
of Java <code>GridProjection</code> type. Scala will automatically (implicitly) convert it into
Scalar's pimp and replace the original call with a call on that pimp.</p><p>Note that Scalar provide extensive library of implicit conversion between Java and
Scala Ignite counterparts in <code>ScalarConversions</code> object</p><h4>Suffix '$' In Names</h4><p>Symbol <code>$</code> is used in names when they conflict with the names in the base Java class
that Scala pimp is shadowing or with Java package name that your Scala code is importing.
Instead of giving two different names to the same function we've decided to simply mark
Scala's side method with <code>$</code> suffix.
</p></div></div>
    </li><li name="org.apache.ignite.scalar.pimps.ScalarTaskThreadContext" visbl="pub" data-isabs="true" fullComment="yes" group="Ungrouped">
      <a id="ScalarTaskThreadContext[T<span class='angle_bracket'>&lt;</span>:org.apache.ignite.cluster.ClusterGroup]extendsScalarConversions"></a>
      <a id="ScalarTaskThreadContext[T<span class='angle_bracket'>&lt;</span>:ClusterGroup]:ScalarTaskThreadContext[T]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">trait</span>
      </span>
      <span class="symbol">
        <a href="ScalarTaskThreadContext.html"><span class="name">ScalarTaskThreadContext</span></a><span class="tparams">[<span name="T">T <span class='angle_bracket'>&lt;</span>: <span class="extype" name="org.apache.ignite.cluster.ClusterGroup">ClusterGroup</span></span>]</span><span class="result"> extends <a href="../ScalarConversions.html" class="extype" name="org.apache.ignite.scalar.ScalarConversions">ScalarConversions</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@ScalarTaskThreadContext[T<span class='angle_bracket'>&lt;</span>:org.apache.ignite.cluster.ClusterGroup]extendsScalarConversions" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">This trait provide mixin for properly typed version of <code>GridProjection#with...()</code> methods.</p><div class="fullcomment"><div class="comment cmt"><p>This trait provide mixin for properly typed version of <code>GridProjection#with...()</code> methods.</p><p>Method on <code>GridProjection</code> always returns an instance of type <code>GridProjection</code> even when
called on a sub-class. This trait's methods return the instance of the same type
it was called on.
</p></div></div>
    </li></ol>
            </div>

        

        <div id="values" class="values members">
              <h3>Value Members</h3>
              <ol><li name="org.apache.ignite.scalar.pimps.PimpedType" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="PimpedType"></a>
      <a id="PimpedType:PimpedType"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <a href="PimpedType$.html"><span class="name">PimpedType</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@PimpedType" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      
    </li><li name="org.apache.ignite.scalar.pimps.ScalarCachePimp" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="ScalarCachePimp"></a>
      <a id="ScalarCachePimp:ScalarCachePimp"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <a href="ScalarCachePimp$.html"><span class="name">ScalarCachePimp</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@ScalarCachePimp" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Companion object.</p>
    </li><li name="org.apache.ignite.scalar.pimps.ScalarGridPimp" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="ScalarGridPimp"></a>
      <a id="ScalarGridPimp:ScalarGridPimp"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <a href="ScalarGridPimp$.html"><span class="name">ScalarGridPimp</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@ScalarGridPimp" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Companion object.</p>
    </li><li name="org.apache.ignite.scalar.pimps.ScalarProjectionPimp" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="ScalarProjectionPimp"></a>
      <a id="ScalarProjectionPimp:ScalarProjectionPimp"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">object</span>
      </span>
      <span class="symbol">
        <a href="ScalarProjectionPimp$.html"><span class="name">ScalarProjectionPimp</span></a>
      </span>
      </h4><span class="permalink">
      <a href="../../../../../index.html#org.apache.ignite.scalar.pimps.package@ScalarProjectionPimp" title="Permalink" target="_top">
        <img src="../../../../../lib/permalink.png" alt="Permalink" />
      </a>
    </span>
      <p class="shortcomment cmt">Companion object.</p>
    </li></ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="scala.AnyRef">
              <h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
            </div>
        
        </div>

        <div id="groupedMembers">
        <div class="group" name="Ungrouped">
              <h3>Ungrouped</h3>
              
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>


    </body>
      </html>
