<commit_before><html>
	<head>
		<link rel="stylesheet" href="cope.css">
	</head>
	<body>
		<a href="http://www.exedio.com/">
			<img src="exedio.png" class="exedio">
		</a>
		<h1><a href="index.html">COPE</a></h1>
		<div>Cope with Object Persistence</div>
		
		<h2>Initial Trail</h2>
		<a href="http://sourceforge.net/">
			<img src="http://sourceforge.net/sflogo.php?group_id=152867&amp;type=1"
				class="sf" alt="SourceForge.net Logo" />
		</a>
		<div>
			This is the initial trail of the cope documentation trails.
			It gives you a step-by-step introduction into the persistence framework cope.
		</div>
		<div>
			If you already decided to use cope for a project,
			you may want to use the cope demoshop as a template.
			This way you can skip most of the steps described here.
			The demoshop is available under the
			<a href="http://www.opensource.org/licenses/mit-license.php">The&nbsp;MIT&nbsp;License</a>.
			<br>
			<a href="http://sourceforge.net/project/showfiles.php?group_id=152867">Download</a>
		</div>
		<h3><a name="contents">Contents</a></h3>
		<ul>
			<li><a href="#item">Your first item</a></li>
			<li><a href="#instrument">Setting up the instrumentor</a></li>
			<li><a href="#results">Results of the instrumentor</a></li>
			<li><a href="#run">Make it run</a></li>
			<li><a href="#further">Further Reading</a></li>
		</ul>
		<h3><a name="item">Your first item</a></h3>
		<div>
			Creating a new persistent class within COPE is
			as easy as creating any java class.
			Make sure, the class extends <a href="api/com/exedio/cope/Item.html">Item</a>:
		</div>
<pre>
class Customer extends <a href="api/com/exedio/cope/Item.html">Item</a>
{
}
</pre>
		<div>
			Now a persistent class isn't very useful
			without any persistent attributes,
			so we also create our first one.
			To do this we declare a static final constant
			of the type <a href="api/com/exedio/cope/StringAttribute.html">StringAttribute</a>.
		</div>
<pre>
class Customer extends <a href="api/com/exedio/cope/Item.html">Item</a>
{
   static final <a href="api/com/exedio/cope/StringAttribute.html">StringAttribute</a> email = new <a href="api/com/exedio/cope/StringAttribute.html#StringAttribute()">StringAttribute</a>();
}
</pre>
		<div>
			Thats the way you declare persistent classes and fields.
			Now we have to setup the cope source code instrumentor.
		</div>
		<h3><a name="instrument">Setting up the instrumentor</a></h3>
		<div>
			The instrumentor inserts a few methods and constructors into your
			source code, so you don't have to write it on your own.
			Don't worry, your code and the code generated by the instrumentor
			will peacefully coexist.
		</div>
		<div>
			Put a copy of <a href="lib/exedio-cope.jar">exedio-cope.jar</a>, <a href="lib/exedio-cope-instrument.jar">exedio-cope-instrument.jar</a> and <a href="lib/bsh-core.jar">bsh-core.jar</a>
			into the directory where you keep your third-party libraries.
			In the following we assume, this is <tt>lib</tt>.
		</div>
		<div>
			Next we have to include the code instrumentor into your build process.
			Here we explain this for a build process managed by
			<a href="http://ant.apache.org/">apache ant</a>.
			We assume, that there is already a target <tt>compile</tt> which compiles<commit_msg>add all third-party libs<commit_after><html>
	<head>
		<link rel="stylesheet" href="cope.css">
	</head>
	<body>
		<a href="http://www.exedio.com/">
			<img src="exedio.png" class="exedio">
		</a>
		<h1><a href="index.html">COPE</a></h1>
		<div>Cope with Object Persistence</div>
		
		<h2>Initial Trail</h2>
		<a href="http://sourceforge.net/">
			<img src="http://sourceforge.net/sflogo.php?group_id=152867&amp;type=1"
				class="sf" alt="SourceForge.net Logo" />
		</a>
		<div>
			This is the initial trail of the cope documentation trails.
			It gives you a step-by-step introduction into the persistence framework cope.
		</div>
		<div>
			If you already decided to use cope for a project,
			you may want to use the cope demoshop as a template.
			This way you can skip most of the steps described here.
			The demoshop is available under the
			<a href="http://www.opensource.org/licenses/mit-license.php">The&nbsp;MIT&nbsp;License</a>.
			<br>
			<a href="http://sourceforge.net/project/showfiles.php?group_id=152867">Download</a>
		</div>
		<h3><a name="contents">Contents</a></h3>
		<ul>
			<li><a href="#item">Your first item</a></li>
			<li><a href="#instrument">Setting up the instrumentor</a></li>
			<li><a href="#results">Results of the instrumentor</a></li>
			<li><a href="#run">Make it run</a></li>
			<li><a href="#further">Further Reading</a></li>
		</ul>
		<h3><a name="item">Your first item</a></h3>
		<div>
			Creating a new persistent class within COPE is
			as easy as creating any java class.
			Make sure, the class extends <a href="api/com/exedio/cope/Item.html">Item</a>:
		</div>
<pre>
class Customer extends <a href="api/com/exedio/cope/Item.html">Item</a>
{
}
</pre>
		<div>
			Now a persistent class isn't very useful
			without any persistent attributes,
			so we also create our first one.
			To do this we declare a static final constant
			of the type <a href="api/com/exedio/cope/StringAttribute.html">StringAttribute</a>.
		</div>
<pre>
class Customer extends <a href="api/com/exedio/cope/Item.html">Item</a>
{
   static final <a href="api/com/exedio/cope/StringAttribute.html">StringAttribute</a> email = new <a href="api/com/exedio/cope/StringAttribute.html#StringAttribute()">StringAttribute</a>();
}
</pre>
		<div>
			Thats the way you declare persistent classes and fields.
			Now we have to setup the cope source code instrumentor.
		</div>
		<h3><a name="instrument">Setting up the instrumentor</a></h3>
		<div>
			The instrumentor inserts a few methods and constructors into your
			source code, so you don't have to write it on your own.
			Don't worry, your code and the code generated by the instrumentor
			will peacefully coexist.
		</div>
		<div>
			Put a copy of
			<a href="lib/exedio-cope.jar">exedio-cope.jar</a>,
			<a href="lib/exedio-cope-instrument.jar">exedio-cope-instrument.jar</a>,
			<a href="lib/pcj.jar">pcj.jar</a>,
			<a href="lib/commons-collections.jar">commons-collections.jar</a> and
			<a href="lib/bsh-core.jar">bsh-core.jar</a>
			into the directory where you keep your third-party libraries.
			In the following we assume, this is <tt>lib</tt>.
		</div>
		<div>
			Next we have to include the code instrumentor into your build process.
			Here we explain this for a build process managed by
			<a href="http://ant.apache.org/">apache ant</a>.
			We assume, that there is already a target <tt>compile</tt> which compiles
{'fraction_non_alphanumeric': 0.15141056422569027, 'fraction_numerical': 0.006902761104441777, 'mean_word_length': 3.829710144927536, 'pattern_counts': {'":': 0, '<': 209, '<?xml version=': 0, '>': 209, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2525495', 'n_tokens_mistral': 2537, 'n_tokens_neox': 2284, 'n_words': 680}