1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-11 09:42:54 +00:00

Change-Id: I0000000000000000000000000000000000000000

Change-Id: I8636776eaf000fcdfb528cc403710f6d6ee9e73e
Change-Id: Iebc523681d07ecd6d7b7e89343b29a8034558f94
This commit is contained in:
rogiel
2011-05-07 01:06:17 -03:00
parent 81d2babede
commit 51aea46020
100 changed files with 2505 additions and 406 deletions

View File

@@ -1,10 +1,12 @@
package com.l2jserver.model.id;
import com.google.inject.Inject;
import com.l2jserver.model.template.Template;
import com.l2jserver.model.world.WorldObject;
/**
* The ID interface. Each Object or Template must be represented by an unique
* ID.
* The ID interface. Each {@link WorldObject} or {@link Template} must be
* represented by an unique ID.
*
* @author <a href="http://www.rogiel.com">Rogiel</a>
*/
@@ -35,7 +37,7 @@ public abstract class ID {
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id;
result = prime * result + id + this.getClass().hashCode();
return result;
}

View File

@@ -2,7 +2,6 @@ package com.l2jserver.model.id;
import com.l2jserver.model.template.Template;
/**
* Templates IDs, different from {@link ObjectID}s, can be repeated and are
* defined in the template class.
@@ -14,6 +13,6 @@ public abstract class TemplateID<T extends Template> extends ID {
public TemplateID(int id) {
super(id);
}
public abstract T getTemplate();
}

View File

@@ -15,5 +15,5 @@ public interface IDFactory<T extends ID> {
* @param id
* @return
*/
T createID(int id);
T createID(int id);
}

View File

@@ -9,6 +9,7 @@ import com.l2jserver.model.id.object.factory.CharacterIDFactory;
import com.l2jserver.model.id.object.factory.CharacterIDFactory.CharacterIDGuiceFactory;
import com.l2jserver.model.id.object.factory.ItemIDFactory;
import com.l2jserver.model.id.object.factory.ItemIDFactory.ItemIDGuiceFactory;
import com.l2jserver.model.id.template.factory.CharacterTemplateIDFactory;
import com.l2jserver.model.id.template.factory.ItemTemplateIDFactory;
import com.l2jserver.model.id.template.factory.SkillTemplateIDFactory;
@@ -34,5 +35,7 @@ public class IDFactoryModule extends AbstractModule {
// TEMPLATE IDS
install(new FactoryModuleBuilder().build(ItemTemplateIDFactory.class));
install(new FactoryModuleBuilder().build(SkillTemplateIDFactory.class));
install(new FactoryModuleBuilder()
.build(CharacterTemplateIDFactory.class));
}
}

View File

@@ -0,0 +1,13 @@
package com.l2jserver.model.id.object;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.world.capability.Actor;
public abstract class ActorID<T extends Actor> extends ObjectID<T> {
@Inject
public ActorID(@Assisted int id) {
super(id);
}
}

View File

@@ -3,10 +3,9 @@ package com.l2jserver.model.id.object;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.db.dao.CharacterDAO;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.world.L2Character;
public final class CharacterID extends ObjectID<L2Character> {
public final class CharacterID extends ActorID<L2Character> {
/**
* Data Access Object (DAO) for characters
*/

View File

@@ -2,10 +2,9 @@ package com.l2jserver.model.id.object;
import com.google.inject.Inject;
import com.l2jserver.db.dao.PetDAO;
import com.l2jserver.model.id.ObjectID;
import com.l2jserver.model.world.Pet;
public final class PetID extends ObjectID<Pet> {
public final class PetID extends ActorID<Pet> {
/**
* Data Access Object (DAO) for pets
*/

View File

@@ -0,0 +1,23 @@
package com.l2jserver.model.id.template;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
import com.l2jserver.model.id.TemplateID;
import com.l2jserver.model.template.CharacterTemplate;
import com.l2jserver.service.game.template.TemplateService;
public class CharacterTemplateID extends TemplateID<CharacterTemplate> {
private final TemplateService templateService;
@Inject
protected CharacterTemplateID(@Assisted int id,
TemplateService templateService) {
super(id);
this.templateService = templateService;
}
@Override
public CharacterTemplate getTemplate() {
return (CharacterTemplate) templateService.getTemplate(this);
}
}

View File

@@ -0,0 +1,7 @@
package com.l2jserver.model.id.template.factory;
import com.l2jserver.model.id.template.CharacterTemplateID;
public interface CharacterTemplateIDFactory extends
TemplateIDFactory<CharacterTemplateID> {
}