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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -15,5 +15,5 @@ public interface IDFactory<T extends ID> {
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
T createID(int id);
|
||||
T createID(int id);
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
13
src/main/java/com/l2jserver/model/id/object/ActorID.java
Normal file
13
src/main/java/com/l2jserver/model/id/object/ActorID.java
Normal 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);
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.l2jserver.model.id.template.factory;
|
||||
|
||||
import com.l2jserver.model.id.template.CharacterTemplateID;
|
||||
|
||||
public interface CharacterTemplateIDFactory extends
|
||||
TemplateIDFactory<CharacterTemplateID> {
|
||||
}
|
||||
Reference in New Issue
Block a user