<span
class
=
"kn"
>import</span> <span
class
=
"nn"
>java.util.List</span><span
class
=
"o"
>;</span>
<span
class
=
"kn"
>import</span> <span
class
=
"nn"
>java.util.ArrayList</span><span
class
=
"o"
>;</span>
<span
class
=
"kd"
>
interface
</span> <span
class
=
"nc"
>Entity</span> <span
class
=
"o"
>{</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kt"
>int</span> <span
class
=
"nf"
>getId</span><span
class
=
"o"
>();</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kt"
>int</span> <span
class
=
"nf"
>getKind</span><span
class
=
"o"
>();</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
interface
</span> <span
class
=
"nc"
>Taggable</span> <span
class
=
"o"
>{</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kt"
>void</span> <span
class
=
"nf"
>addTag</span><span
class
=
"o"
>(</span><span
class
=
"kt"
>int</span> <span
class
=
"n"
>tagId</span><span
class
=
"o"
>);</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"n"
>List</span><span
class
=
"o"
><</span><span
class
=
"n"
>Integer</span><span
class
=
"o"
>></span> <span
class
=
"nf"
>getTags</span><span
class
=
"o"
>();</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
class
</span> <span
class
=
"nc"
>TaggableImpl</span> <span
class
=
"kd"
>
implements
</span> <span
class
=
"n"
>Taggable</span> <span
class
=
"o"
>{</span>
<span
class
=
"kd"
>
private
</span> <span
class
=
"n"
>Entity</span> <span
class
=
"n"
>target</span><span
class
=
"o"
>;</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"nf"
>TaggableImpl</span><span
class
=
"o"
>(</span><span
class
=
"n"
>Entity</span> <span
class
=
"n"
>target</span><span
class
=
"o"
>)</span> <span
class
=
"o"
>{</span>
<span
class
=
"k"
>this</span><span
class
=
"o"
>.</span><span
class
=
"na"
>target</span> <span
class
=
"o"
>=</span> <span
class
=
"n"
>target</span><span
class
=
"o"
>;</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kt"
>void</span> <span
class
=
"nf"
>addTag</span><span
class
=
"o"
>(</span><span
class
=
"kt"
>int</span> <span
class
=
"n"
>tagId</span><span
class
=
"o"
>)</span> <span
class
=
"o"
>{</span>
<span
class
=
"kt"
>int</span> <span
class
=
"n"
>id</span> <span
class
=
"o"
>=</span> <span
class
=
"n"
>target</span><span
class
=
"o"
>.</span><span
class
=
"na"
>getId</span><span
class
=
"o"
>();</span>
<span
class
=
"kt"
>int</span> <span
class
=
"n"
>kind</span> <span
class
=
"o"
>=</span> <span
class
=
"n"
>target</span><span
class
=
"o"
>.</span><span
class
=
"na"
>getKind</span><span
class
=
"o"
>();</span>
<span
class
=
"n"
>System</span><span
class
=
"o"
>.</span><span
class
=
"na"
>out</span><span
class
=
"o"
>.</span><span
class
=
"na"
>println</span><span
class
=
"o"
>(</span><span
class
=
"s"
>
"insert into ... values "
</span>
<span
class
=
"o"
>+</span> <span
class
=
"n"
>id</span> <span
class
=
"o"
>+</span> <span
class
=
"s"
>
", "
</span>
<span
class
=
"o"
>+</span> <span
class
=
"n"
>kind</span> <span
class
=
"o"
>+</span> <span
class
=
"s"
>
", "
</span>
<span
class
=
"o"
>+</span> <span
class
=
"n"
>tagId</span> <span
class
=
"o"
>+</span> <span
class
=
"s"
>
")"
</span><span
class
=
"o"
>);</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"n"
>ArrayList</span><span
class
=
"o"
><</span><span
class
=
"n"
>Integer</span><span
class
=
"o"
>></span> <span
class
=
"nf"
>getTags</span><span
class
=
"o"
>()</span> <span
class
=
"o"
>{</span>
<span
class
=
"c1"
>
<span
class
=
"k"
>
return
</span> <span
class
=
"k"
>
new
</span> <span
class
=
"n"
>ArrayList</span><span
class
=
"o"
><</span><span
class
=
"n"
>Integer</span><span
class
=
"o"
>>();</span>
<span
class
=
"o"
>}</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
class
</span> <span
class
=
"nc"
>Post</span> <span
class
=
"kd"
>
implements
</span> <span
class
=
"n"
>Entity</span><span
class
=
"o"
>,</span> <span
class
=
"n"
>Taggable</span> <span
class
=
"o"
>{</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kd"
>
final
</span> <span
class
=
"kd"
>
static
</span> <span
class
=
"kt"
>int</span> <span
class
=
"n"
>KIND</span> <span
class
=
"o"
>=</span> <span
class
=
"mi"
>1001</span><span
class
=
"o"
>;</span>
<span
class
=
"kd"
>
private
</span> <span
class
=
"n"
>Taggable</span> <span
class
=
"n"
>taggable</span><span
class
=
"o"
>;</span>
<span
class
=
"kd"
>
private
</span> <span
class
=
"kt"
>int</span> <span
class
=
"n"
>id</span><span
class
=
"o"
>;</span>
<span
class
=
"kd"
>
private
</span> <span
class
=
"n"
>String</span> <span
class
=
"n"
>title</span><span
class
=
"o"
>;</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"nf"
>Post</span><span
class
=
"o"
>(</span><span
class
=
"kt"
>int</span> <span
class
=
"n"
>id</span><span
class
=
"o"
>,</span> <span
class
=
"n"
>String</span> <span
class
=
"n"
>title</span><span
class
=
"o"
>)</span> <span
class
=
"o"
>{</span>
<span
class
=
"k"
>this</span><span
class
=
"o"
>.</span><span
class
=
"na"
>id</span> <span
class
=
"o"
>=</span> <span
class
=
"n"
>id</span><span
class
=
"o"
>;</span>
<span
class
=
"k"
>this</span><span
class
=
"o"
>.</span><span
class
=
"na"
>title</span> <span
class
=
"o"
>=</span> <span
class
=
"n"
>title</span><span
class
=
"o"
>;</span>
<span
class
=
"k"
>this</span><span
class
=
"o"
>.</span><span
class
=
"na"
>taggable</span> <span
class
=
"o"
>=</span> <span
class
=
"k"
>
new
</span> <span
class
=
"n"
>TaggableImpl</span><span
class
=
"o"
>(</span><span
class
=
"k"
>this</span><span
class
=
"o"
>);</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kt"
>int</span> <span
class
=
"nf"
>getId</span><span
class
=
"o"
>()</span> <span
class
=
"o"
>{</span>
<span
class
=
"k"
>
return
</span> <span
class
=
"n"
>id</span><span
class
=
"o"
>;</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kt"
>int</span> <span
class
=
"nf"
>getKind</span><span
class
=
"o"
>()</span> <span
class
=
"o"
>{</span>
<span
class
=
"k"
>
return
</span> <span
class
=
"n"
>KIND</span><span
class
=
"o"
>;</span>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"kt"
>void</span> <span
class
=
"nf"
>addTag</span><span
class
=
"o"
>(</span><span
class
=
"kt"
>int</span> <span
class
=
"n"
>tagId</span><span
class
=
"o"
>)</span> <span
class
=
"o"
>{</span>
<span
class
=
"n"
>taggable</span><span
class
=
"o"
>.</span><span
class
=
"na"
>addTag</span><span
class
=
"o"
>(</span><span
class
=
"n"
>tagId</span><span
class
=
"o"
>);</span> <span
class
=
"c1"
>
<span
class
=
"o"
>}</span>
<span
class
=
"kd"
>
public
</span> <span
class
=
"n"
>ArrayList</span><span
class
=
"o"
><</span><span
class
=
"n"
>Integer</span><span
class
=
"o"
>></span> <span
class
=
"nf"
>getTags</span><span
class
=
"o"
>()</span> <span
class
=
"o"
>{</span>
<span
class
=
"k"
>
return
</span> <span
class
=
"n"
>taggable</span><span
class
=
"o"
>.</span><span
class
=
"na"
>getTags</span><span
class
=
"o"
>();</span> <span
class
=
"c1"
>
<span
class
=
"o"
>}</span>
<span
class
=
"o"
>}</span>