@Override public void loadField(Class<T> cls, Field f) throws Exception { super.loadField(cls, f); if (EntityManager.isAnnotationPresent(SubModelComponent.class, f) || EntityManager.isAnnotationPresent(SubModelMapComponent.class, f)) { f.setAccessible(true); subModels.add(f); } }
@Override protected void registerNode(Node node) { super.registerNode(node); String name = IdUtil.parseId(node.getId()).name; Set<Node> set = nodesFromName.get(name); if (set == null) { set = new HashSet<Node>(); nodesFromName.put(name, set); } set.add(node); }
@Override protected void unregisterNode(Node node) { super.unregisterNode(node); String name = IdUtil.parseId(node.getId()).name; Set<Node> set = nodesFromName.get(name); if (set != null) { set.remove(node); if (set.isEmpty()) { nodesFromName.remove(name); } } }
@Override public void onInstance(T e, IBuilder builder, Object[] params) throws Exception { injectModel(e); super.onInstance(e, builder, params); }
@Override public void loadInjectors(Class<T> c) throws Exception { super.loadInjectors(c); }