/** * <copyright> * </copyright> * * $Id$ */ package no.playtrd.v10.playtrd.impl; import java.util.Map; import javax.measure.Measurable; import javax.measure.quantity.Quantity; import javax.measure.quantity.Angle; import no.playtrd.services.IPositionService; import no.playtrd.v10.playtrd.*; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.impl.EFactoryImpl; import org.eclipse.emf.ecore.plugin.EcorePlugin; import org.eclipse.emf.edit.domain.IEditingDomainProvider; import org.jscience.economics.money.Money; import org.jscience.geography.coordinates.LatLong; /** * <!-- begin-user-doc --> * An implementation of the model <b>Factory</b>. * <!-- end-user-doc --> * @generated */ public class PlaytrdFactoryImpl extends EFactoryImpl implements PlaytrdFactory { /** * Creates the default factory implementation. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public static PlaytrdFactory init() { try { PlaytrdFactory thePlaytrdFactory = (PlaytrdFactory)EPackage.Registry.INSTANCE.getEFactory("http://playtrd.no/v10/playtrd.ecore"); if (thePlaytrdFactory != null) { return thePlaytrdFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new PlaytrdFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PlaytrdFactoryImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case PlaytrdPackage.OBJECT_POSITION: return createObjectPosition(); case PlaytrdPackage.PLAYER: return createPlayer(); case PlaytrdPackage.PLAYTRD: return createPlaytrd(); case PlaytrdPackage.POI: return createPOI(); case PlaytrdPackage.REGION: return createRegion(); case PlaytrdPackage.GAME: return createGame(); case PlaytrdPackage.PLAYER_STATE: return createPlayerState(); case PlaytrdPackage.COMMUNITY: return createCommunity(); case PlaytrdPackage.POSITION_SERVICE: return createPositionService(); case PlaytrdPackage.MESSAGE_SERVICE: return createMessageService(); case PlaytrdPackage.PLAYER_MESSAGE: return createPlayerMessage(); case PlaytrdPackage.SERVICE: return createService(); case PlaytrdPackage.LOCATION_SERVICE: return createLocationService(); case PlaytrdPackage.OBJECT_LOCATION: return createObjectLocation(); case PlaytrdPackage.ITEM: return createItem(); case PlaytrdPackage.WALLET: return createWallet(); case PlaytrdPackage.STORE: return createStore(); case PlaytrdPackage.OWNER: return createOwner(); case PlaytrdPackage.TRADE: return createTrade(); case PlaytrdPackage.MONEY_VALUED: return createMoneyValued(); case PlaytrdPackage.INVENTORY: return createInventory(); case PlaytrdPackage.PROPERTIES: return createProperties(); case PlaytrdPackage.TAG_SERVICE: return createTagService(); case PlaytrdPackage.TAG_DATA: return createTagData(); case PlaytrdPackage.TAG_ENTRY: return (EObject)createTagEntry(); case PlaytrdPackage.COLOCATION_SERVICE: return createColocationService(); case PlaytrdPackage.OBJECT_COLOCATION: return createObjectColocation(); default: throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object createFromString(EDataType eDataType, String initialValue) { switch (eDataType.getClassifierID()) { case PlaytrdPackage.GLOBE_POSITION: return createGlobePositionFromString(eDataType, initialValue); case PlaytrdPackage.MONEY: return createMoneyFromString(eDataType, initialValue); case PlaytrdPackage.IEDITING_DOMAIN_PROVIDER: return createIEditingDomainProviderFromString(eDataType, initialValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String convertToString(EDataType eDataType, Object instanceValue) { switch (eDataType.getClassifierID()) { case PlaytrdPackage.GLOBE_POSITION: return convertGlobePositionToString(eDataType, instanceValue); case PlaytrdPackage.MONEY: return convertMoneyToString(eDataType, instanceValue); case PlaytrdPackage.IEDITING_DOMAIN_PROVIDER: return convertIEditingDomainProviderToString(eDataType, instanceValue); default: throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); } } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ObjectPosition createObjectPosition() { ObjectPositionImpl objectPosition = new ObjectPositionImpl(); return objectPosition; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Player createPlayer() { PlayerImpl player = new PlayerImpl(); return player; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Playtrd createPlaytrd() { PlaytrdImpl playtrd = new PlaytrdImpl(); return playtrd; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public POI createPOI() { POIImpl poi = new POIImpl(); return poi; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Region createRegion() { RegionImpl region = new RegionImpl(); return region; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public <T extends PlayerState> Game<T> createGame() { GameImpl<T> game = new GameImpl<T>(); return game; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PlayerState createPlayerState() { PlayerStateImpl playerState = new PlayerStateImpl(); return playerState; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Community createCommunity() { CommunityImpl community = new CommunityImpl(); return community; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PositionService createPositionService() { PositionServiceImpl positionService = new PositionServiceImpl(); return positionService; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public MessageService createMessageService() { MessageServiceImpl messageService = new MessageServiceImpl(); return messageService; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PlayerMessage createPlayerMessage() { PlayerMessageImpl playerMessage = new PlayerMessageImpl(); return playerMessage; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Service createService() { ServiceImpl service = new ServiceImpl(); return service; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public LocationService createLocationService() { LocationServiceImpl locationService = new LocationServiceImpl(); return locationService; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ObjectLocation createObjectLocation() { ObjectLocationImpl objectLocation = new ObjectLocationImpl(); return objectLocation; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Item createItem() { ItemImpl item = new ItemImpl(); return item; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Wallet createWallet() { WalletImpl wallet = new WalletImpl(); return wallet; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Store createStore() { StoreImpl store = new StoreImpl(); return store; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Owner createOwner() { OwnerImpl owner = new OwnerImpl(); return owner; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Trade createTrade() { TradeImpl trade = new TradeImpl(); return trade; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public MoneyValued createMoneyValued() { MoneyValuedImpl moneyValued = new MoneyValuedImpl(); return moneyValued; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Inventory createInventory() { InventoryImpl inventory = new InventoryImpl(); return inventory; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Properties createProperties() { PropertiesImpl properties = new PropertiesImpl(); return properties; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TagService createTagService() { TagServiceImpl tagService = new TagServiceImpl(); return tagService; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TagData createTagData() { TagDataImpl tagData = new TagDataImpl(); return tagData; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Map.Entry<String, String> createTagEntry() { TagEntryImpl tagEntry = new TagEntryImpl(); return tagEntry; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ColocationService createColocationService() { ColocationServiceImpl colocationService = new ColocationServiceImpl(); return colocationService; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ObjectColocation createObjectColocation() { ObjectColocationImpl objectColocation = new ObjectColocationImpl(); return objectColocation; } private static String positionSeparatorPattern = "(\\s*[ ,;/]\\s*)"; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public LatLong createGlobePositionFromString(EDataType eDataType, String initialValue) { if (initialValue == null || initialValue.trim().length() == 0) { return null; } String separators = positionSeparatorPattern; try { String[] latLngString = initialValue.split(separators); if (latLngString.length != 2) { throw new IllegalArgumentException("Split of " + initialValue + " on " + separators + " gave " + latLngString.length + " parts, should have been 2"); } double lat = Double.valueOf(latLngString[0]); double lng = Double.valueOf(latLngString[1]); return createLatLong(lat, lng); } catch (IllegalArgumentException e) { throw new IllegalArgumentException("A GlobePosition must have two double values: " + initialValue + " (" + e + ")"); } } public static LatLong createLatLong(double lat, double lng) { return LatLong.valueOf(lat, lng, IPositionService.LATLONG_UNIT); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public String convertGlobePositionToString(EDataType eDataType, Object instanceValue) { if (instanceValue == null) { return ""; } LatLong latLng = (LatLong)instanceValue; return latLng.latitudeValue(IPositionService.LATLONG_UNIT) + " " + latLng.longitudeValue(IPositionService.LATLONG_UNIT); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @SuppressWarnings("unchecked") public Measurable createMoneyFromString(EDataType eDataType, String initialValue) { return (Measurable)super.createFromString(initialValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String convertMoneyToString(EDataType eDataType, Object instanceValue) { return super.convertToString(instanceValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public IEditingDomainProvider createIEditingDomainProviderFromString(EDataType eDataType, String initialValue) { return (IEditingDomainProvider)super.createFromString(eDataType, initialValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String convertIEditingDomainProviderToString(EDataType eDataType, Object instanceValue) { return super.convertToString(eDataType, instanceValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public PlaytrdPackage getPlaytrdPackage() { return (PlaytrdPackage)getEPackage(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @deprecated * @generated */ @Deprecated public static PlaytrdPackage getPackage() { return PlaytrdPackage.eINSTANCE; } } //PlaytrdFactoryImpl