private IdEObjectImpl createInternal(EClass eClass, QueryInterface queryInterface) { IdEObjectImpl object = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); object.setQueryInterface(queryInterface); return object; }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T create(EClass eClass) throws IfcModelInterfaceException { IdEObjectImpl object = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); long oid = oidCounter++; ((IdEObjectImpl) object).setOid(oid); return (T) object; }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T create(Class<T> clazz) { EClass eClassIncludingDependencies = getEClassIncludingDependencies(clazz); return (T) eClassIncludingDependencies.getEPackage().getEFactoryInstance().create(eClassIncludingDependencies); }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T create(EClass eClass, long oid) throws IfcModelInterfaceException { if (eClass == null) { throw new IllegalArgumentException("eClass cannot be null"); } IdEObjectImpl object = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); object.setModel(this); object.setOid(oid); return (T) object; }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T create(EClass eClass) { if (eClass.getEPackage() == ePackage) { return (T) ePackage.getEFactoryInstance().create(eClass); } else { for (PackageMetaData dep : dependencies) { if (dep.has(eClass)) { return dep.create(eClass); } } } throw new RuntimeException("Mismatch"); }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T createAndAdd(EClass eClass) throws IfcModelInterfaceException, ObjectAlreadyExistsException { IdEObjectImpl object = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); object.setLoadingState(State.LOADED); long oid = oidCounter++; add(oid, object); return (T) object; }
/** * Clones an eobject, with the option of performing a deep clone in which referenced eobjects * are also cloned. * * @param prototype The object to be cloned from. * @param factory The factory used to create the clone. * @param deepFlag indicating wether to perform a deep clone. * @return THe cloned object, with all properties the same to the original. */ public static EObject clone(EObject prototype, EFactory factory, boolean deep) { EObject clone = factory.create(prototype.eClass()); for (Iterator i = clone.eClass().getEStructuralFeatures().iterator(); i.hasNext(); ) { EStructuralFeature feature = (EStructuralFeature) i.next(); Object value = prototype.eGet(feature); if (deep && value instanceof EObject) { EObject evalue = (EObject) value; // recursively call // TODO:handle cycles in reference graph value = clone(evalue, evalue.eClass().getEPackage().getEFactoryInstance(), deep); } clone.eSet(feature, value); } return clone; }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T createAndAdd(Class<T> clazz) throws IfcModelInterfaceException, ObjectAlreadyExistsException { EClass eClass = packageMetaData.getEClass(clazz); IdEObjectImpl object = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); object.setLoadingState(State.LOADED); long oid = oidCounter++; add(oid, object); return (T) object; }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T createAndAdd(EClass eClass, long oid) throws IfcModelInterfaceException, ObjectAlreadyExistsException { IdEObjectImpl object = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); object.setModel(this); object.setOid(oid); add(oid, object); return (T) object; }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T create(EClass eClass, OidProvider oidProvider) throws IfcModelInterfaceException, ObjectAlreadyExistsException { IdEObjectImpl object = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); long oid = oidProvider.newOid(eClass); ((IdEObjectImpl) object).setOid(oid); ((IdEObjectImpl) object).setLoadingState(State.LOADED); add(oid, object, false, false); return (T) object; }
@SuppressWarnings("unchecked") @Override public <T extends IdEObject> T create(EClass eClass) throws IfcModelInterfaceException, ObjectAlreadyExistsException { final IdEObjectImpl idEObject = (IdEObjectImpl) eClass.getEPackage().getEFactoryInstance().create(eClass); idEObject.setModel(this); if (recordChanges) { idEObject.eAdapters().add(adapter); try { Long oid = bimServerClient.getLowLevelInterface().createObject(tid, eClass.getName(), eClass.getEStructuralFeature("GlobalId") != null); idEObject.setOid(oid); } catch (Exception e) { LOGGER.error("", e); } add(idEObject.getOid(), idEObject); } return (T) idEObject; }
return null; IdEObject newObject = (IdEObject) eClass.getEPackage().getEFactoryInstance().create(eClass); ((IdEObjectImpl)newObject).setOid(original.getOid()); converted.put(original, newObject);
if (((EClass) waitingObject.getEReference().getEType()).isSuperTypeOf(eObject.eClass())) { while (list.size() <= listWaitingObject.getIndex()) { EObject create = ec.getEPackage().getEFactoryInstance().create(eObject.eClass()); ((IdEObjectImpl)create).setOid(-2); list.addUnique(create);
return target.get(idEObject.getOid()); IdEObject newObject = (IdEObject) idEObject.eClass().getEPackage().getEFactoryInstance().create(idEObject.eClass()); ((IdEObjectImpl)newObject).setOid(idEObject.getOid()); if (newObject.getOid() != -1) {
@SuppressWarnings({ "rawtypes", "unchecked" }) private EObject from(JsonParser jp, EClass eClass) throws JsonParseException, IOException { EObject result = eClass.getEPackage().getEFactoryInstance().create(eClass); Map<String, EStructuralFeature> fieldFeatureMap = JsonMetadata.INSTANCE.getJsonFeatures(eClass);
private static Object parseValueForDataType(JsonParser jp, EDataType dataType) throws JsonParseException, IOException { if (dataType.getEPackage() == EcorePackage.eINSTANCE) { switch (dataType.getClassifierID()) { case EcorePackage.EBOOLEAN: return jp.getBooleanValue(); case EcorePackage.EBYTE: return jp.getByteValue(); case EcorePackage.ESHORT: return jp.getShortValue(); case EcorePackage.EINT: return jp.getIntValue(); case EcorePackage.ELONG: return jp.getLongValue(); case EcorePackage.EFLOAT: return jp.getFloatValue(); case EcorePackage.EDOUBLE: return jp.getDoubleValue(); case EcorePackage.ESTRING: return jp.getText(); } } return dataType.getEPackage().getEFactoryInstance().createFromString(dataType, jp.getText()); }
private void copyAttributesGuidObjectsAndAddNewObjects() throws IfcModelInterfaceException, ObjectAlreadyExistsException { for (IdEObject idEObject : newModel.getValues()) { if (idEObject instanceof IfcRoot) { IfcRoot ifcRoot = (IfcRoot) idEObject; String guid = ifcRoot.getGlobalId(); if (resultModel.containsGuid(guid)) { // LOGGER.info("Updating attributes for object " + idEObject.eClass().getName() + " " + guid); IfcRoot oldObject = (IfcRoot) resultModel.getByGuid(guid); for (EAttribute eAttribute : idEObject.eClass().getEAllAttributes()) { Object newValue = idEObject.eGet(eAttribute); oldObject.eSet(eAttribute, newValue); } } else { // LOGGER.info("Adding new GUID object " + idEObject.eClass().getName() + " " + guid); IdEObject newObject = (IdEObject) idEObject.eClass().getEPackage().getEFactoryInstance().create(idEObject.eClass()); ((IdEObjectImpl)newObject).setOid(idEObject.getOid()); ((IfcRoot) newObject).setGlobalId(newGuid(guid)); for (EAttribute eAttribute : newObject.eClass().getEAllAttributes()) { newObject.eSet(eAttribute, idEObject.eGet(eAttribute)); } resultModel.add(newObject.getOid(), newObject); } } } }
dataType.getEPackage().getEFactoryInstance().convertToString(dataType, value));
/** * Creates an instance of the datatype. * @param eDataType the datatype to instantiate. * @param literal the string value of the datatype. * @return an instance of the datatype. * @see #convertToString(EDataType, Object) */ public static Object createFromString(EDataType eDataType, String literal) { return eDataType.getEPackage().getEFactoryInstance().createFromString(eDataType, literal); }
@Override protected Entry<K, V> newEntry(int hash, K key, V value) { @SuppressWarnings("unchecked") Entry<K, V> entry = (Entry<K, V>)entryEClass.getEPackage().getEFactoryInstance().create(entryEClass); entry.setHash(hash); entry.setKey(key); entry.setValue(value); return entry; }