org.eclipse.ocl.examples.interpreter.console
Class OCLResource

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.BasicNotifierImpl
      extended by org.eclipse.emf.common.notify.impl.NotifierImpl
          extended by org.eclipse.emf.ecore.resource.impl.ResourceImpl
              extended by org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
                  extended by org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl
                      extended by org.eclipse.ocl.examples.interpreter.console.OCLResource
All Implemented Interfaces:
org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.resource.Resource, org.eclipse.emf.ecore.resource.Resource.Internal, org.eclipse.emf.ecore.xmi.XMIResource, org.eclipse.emf.ecore.xmi.XMLResource

public class OCLResource
extends org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl

A resource for loading and saving OCL expressions.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl
org.eclipse.emf.ecore.resource.impl.ResourceImpl.ContentsEList<E extends java.lang.Object & org.eclipse.emf.ecore.EObject>, org.eclipse.emf.ecore.resource.impl.ResourceImpl.ModificationTrackingAdapter
 
Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends java.lang.Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList
 
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.xmi.XMLResource
org.eclipse.emf.ecore.xmi.XMLResource.ElementHandler, org.eclipse.emf.ecore.xmi.XMLResource.MissingPackageHandler, org.eclipse.emf.ecore.xmi.XMLResource.ResourceEntityHandler, org.eclipse.emf.ecore.xmi.XMLResource.ResourceHandler, org.eclipse.emf.ecore.xmi.XMLResource.URIHandler, org.eclipse.emf.ecore.xmi.XMLResource.XMLInfo, org.eclipse.emf.ecore.xmi.XMLResource.XMLMap
 
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.resource.Resource
org.eclipse.emf.ecore.resource.Resource.Diagnostic, org.eclipse.emf.ecore.resource.Resource.Factory, org.eclipse.emf.ecore.resource.Resource.Internal, org.eclipse.emf.ecore.resource.Resource.IOWrappedException
 
Field Summary
 
Fields inherited from class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
DETACHED_EOBJECT_TO_ID_MAP, domHandler, encoding, eObjectToExtensionMap, eObjectToIDMap, idToEObjectMap, publicId, systemId, useZip, xmlVersion
 
Fields inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl
contents, defaultDeleteOptions, defaultLoadOptions, defaultSaveOptions, errors, intrinsicIDToEObjectMap, isLoaded, isLoading, isModified, modificationTrackingAdapter, resourceSet, timeStamp, unloadingContents, uri, warnings
 
Fields inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl
eAdapters, EDELIVER, eFlags, ELAST_NOTIFIER_FLAG
 
Fields inherited from interface org.eclipse.emf.ecore.xmi.XMIResource
OPTION_SUPPRESS_XMI, OPTION_USE_XMI_TYPE, VERSION_2_1_VALUE, VERSION_NAME, VERSION_VALUE, XMI_2_1_URI, XMI_2_4_NAMESPACE_PREFIX, XMI_ID, XMI_NAMESPACE_PREFIX, XMI_NS, XMI_TAG_NAME, XMI_URI
 
Fields inherited from interface org.eclipse.emf.ecore.xmi.XMLResource
HREF, NIL, NO_NAMESPACE_SCHEMA_LOCATION, OPTION_ANY_SIMPLE_TYPE, OPTION_ANY_TYPE, OPTION_BINARY, OPTION_CONFIGURATION_CACHE, OPTION_DECLARE_XML, OPTION_DEFER_ATTACHMENT, OPTION_DEFER_IDREF_RESOLUTION, OPTION_DISABLE_NOTIFY, OPTION_DOM_USE_NAMESPACES_IN_SCOPE, OPTION_ELEMENT_HANDLER, OPTION_ENCODING, OPTION_ESCAPE_USING_CDATA, OPTION_EXTENDED_META_DATA, OPTION_FLUSH_THRESHOLD, OPTION_FORMATTED, OPTION_KEEP_DEFAULT_CONTENT, OPTION_LAX_FEATURE_PROCESSING, OPTION_LAX_WILDCARD_PROCESSING, OPTION_LINE_WIDTH, OPTION_MISSING_PACKAGE_HANDLER, OPTION_PARSER_FEATURES, OPTION_PARSER_PROPERTIES, OPTION_PROCESS_DANGLING_HREF, OPTION_PROCESS_DANGLING_HREF_DISCARD, OPTION_PROCESS_DANGLING_HREF_RECORD, OPTION_PROCESS_DANGLING_HREF_THROW, OPTION_PROXY_ATTRIBUTES, OPTION_RECORD_ANY_TYPE_NAMESPACE_DECLARATIONS, OPTION_RECORD_UNKNOWN_FEATURE, OPTION_RESOURCE_ENTITY_HANDLER, OPTION_RESOURCE_HANDLER, OPTION_ROOT_OBJECTS, OPTION_SAVE_DOCTYPE, OPTION_SAVE_TYPE_INFORMATION, OPTION_SCHEMA_LOCATION, OPTION_SCHEMA_LOCATION_IMPLEMENTATION, OPTION_SKIP_ESCAPE, OPTION_SKIP_ESCAPE_URI, OPTION_SUPPRESS_DOCUMENT_ROOT, OPTION_URI_HANDLER, OPTION_USE_CACHED_LOOKUP_TABLE, OPTION_USE_DEPRECATED_METHODS, OPTION_USE_ENCODED_ATTRIBUTE_STYLE, OPTION_USE_FILE_BUFFER, OPTION_USE_LEXICAL_HANDLER, OPTION_USE_PACKAGE_NS_URI_AS_LOCATION, OPTION_USE_PARSER_POOL, OPTION_USE_XML_NAME_TO_FEATURE_MAP, OPTION_XML_MAP, OPTION_XML_OPTIONS, OPTION_XML_VERSION, SCHEMA_LOCATION, TYPE, XML_NS, XML_SCHEMA_URI, XSI_NS, XSI_URI
 
Fields inherited from interface org.eclipse.emf.ecore.resource.Resource
OPTION_CIPHER, OPTION_LINE_DELIMITER, OPTION_LINE_DELIMITER_UNSPECIFIED, OPTION_SAVE_ONLY_IF_CHANGED, OPTION_SAVE_ONLY_IF_CHANGED_FILE_BUFFER, OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER, OPTION_ZIP, RESOURCE__CONTENTS, RESOURCE__ERRORS, RESOURCE__IS_LOADED, RESOURCE__IS_MODIFIED, RESOURCE__IS_TRACKING_MODIFICATION, RESOURCE__RESOURCE_SET, RESOURCE__TIME_STAMP, RESOURCE__URI, RESOURCE__WARNINGS
 
Constructor Summary
OCLResource(org.eclipse.emf.common.util.URI uri)
          Initializes me with my URI.
 
Method Summary
 OCLExpression<java.lang.Object> getOCLExpression()
          Obtains the OCL expression that I store.
static java.lang.String load(java.lang.String path)
          Loads an OCL expression from the specified path.
static void save(java.lang.String path, OCLDocument document, java.lang.String expression)
          Saves the specified OCL expression to an XMI file.
 void setOCLExpression(OCLExpression<java.lang.Object> expr)
          Sets my contents to the specified OCL expression.
protected  boolean useIDs()
           
protected  boolean useUUIDs()
           
 
Methods inherited from class org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl
createXMLHelper, createXMLLoad, createXMLLoad, createXMLSave, createXMLSave, getXMINamespace, getXMIVersion, setXMINamespace, setXMIVersion
 
Methods inherited from class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl
assignIDsWhileLoading, attachedHelper, createEObjectInputStream, createEObjectOutputStream, detachedHelper, doLoad, doLoad, doLoad, doSave, doSave, doUnload, getDefaultLoadOptions, getDefaultSaveOptions, getDOMHelper, getEncoding, getEObjectByID, getEObjectToExtensionMap, getEObjectToIDMap, getID, getIDToEObjectMap, getPublicId, getSystemId, getURIFragment, getXMLVersion, init, isAttachedDetachedHelperRequired, isPath, load, load, save, save, setDoctypeInfo, setEncoding, setID, setUseZip, setXMLVersion, toKeyString, useIDAttributes, useZip
 
Methods inherited from class org.eclipse.emf.ecore.resource.impl.ResourceImpl
addModificationTrackingAdapters, attached, basicSetResourceSet, createModificationTrackingAdapter, delete, detached, getAllContents, getAllProperContents, getAllProperContents, getContents, getDefaultURIConverter, getEObject, getEObject, getEObjectForURIFragmentRootSegment, getErrors, getIntrinsicIDToEObjectMap, getResourceSet, getTimeStamp, getURI, getURIConverter, getURIFragmentRootSegment, getWarnings, handleLoadResponse, handleSaveResponse, isContentZipEntry, isLoaded, isLoading, isModified, isTrackingModification, load, load, mergeMaps, newContentZipEntry, removeModificationTrackingAdapters, save, save, saveOnlyIfChangedWithFileBuffer, saveOnlyIfChangedWithMemoryBuffer, setIntrinsicIDToEObjectMap, setLoaded, setModified, setTimeStamp, setTrackingModification, setURI, toString, unload, unloaded
 
Methods inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl
eAdapters, eBasicAdapters, eDeliver, eSetDeliver
 
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
eBasicAdapterArray, eBasicHasAdapters, eNotificationRequired, eNotify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.emf.ecore.xmi.XMLResource
getDefaultLoadOptions, getDefaultSaveOptions, getDOMHelper, getEncoding, getEObjectToExtensionMap, getEObjectToIDMap, getID, getIDToEObjectMap, getPublicId, getSystemId, getXMLVersion, load, load, save, save, setDoctypeInfo, setEncoding, setID, setUseZip, setXMLVersion, useZip
 
Methods inherited from interface org.eclipse.emf.ecore.resource.Resource
delete, getAllContents, getContents, getEObject, getErrors, getResourceSet, getTimeStamp, getURI, getURIFragment, getWarnings, isLoaded, isModified, isTrackingModification, load, load, save, save, setModified, setTimeStamp, setTrackingModification, setURI, unload
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Constructor Detail

OCLResource

public OCLResource(org.eclipse.emf.common.util.URI uri)
Initializes me with my URI.

Parameters:
uri - my URI
Method Detail

useIDs

protected boolean useIDs()
Overrides:
useIDs in class org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl

useUUIDs

protected boolean useUUIDs()
Overrides:
useUUIDs in class org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl

load

public static java.lang.String load(java.lang.String path)
                             throws java.io.IOException
Loads an OCL expression from the specified path. The OCL expression is converted to a string using a custom AST visitor that renders the string representation.

Parameters:
path - the absolute path of the XMI file to load
Returns:
the string representation of the OCL expression, if found
Throws:
java.io.IOException - if anything goes wrong in loading the XMI file

save

public static void save(java.lang.String path,
                        OCLDocument document,
                        java.lang.String expression)
                 throws java.io.IOException,
                        ParserException
Saves the specified OCL expression to an XMI file.

Parameters:
path - the fully-qualified path of the XMI file to save
document - the current OCL document
expression - the expression to save
Throws:
java.lang.RuntimeException - if anything goes wrong in parsing
java.io.IOException - if anything goes wrong in saving
OCLParsingException - if anything goes wrong in parsing
ParserException

setOCLExpression

public void setOCLExpression(OCLExpression<java.lang.Object> expr)
Sets my contents to the specified OCL expression.

Parameters:
expr - an OCL expression

getOCLExpression

public OCLExpression<java.lang.Object> getOCLExpression()
Obtains the OCL expression that I store.

Returns:
my OCL expression