net.sf.farrago.cwm.core
Interface CwmClass
- All Superinterfaces:
- CwmClassifier, CwmElement, CwmModelElement, CwmNamespace, RefBaseObject, RefFeatured, RefObject
- All Known Subinterfaces:
- CwmColumnSet, CwmNamedColumnSet, CwmQueryColumnSet, CwmSqlstructuredType, CwmTable, CwmView, FemAbstractColumnSet, FemBaseColumnSet, FemForeignTable, FemLocalTable, FemLocalView, FemRoutine, FemSqlobjectType, FemSqlrowType, FemStoredTable
- All Known Implementing Classes:
- CwmClass$Hib, CwmColumnSet$Hib, CwmNamedColumnSet$Hib, CwmQueryColumnSet$Hib, CwmSqlstructuredType$Hib, CwmTable$Hib, CwmView$Hib, FemForeignTable$Hib, FemLocalTable$Hib, FemLocalView$Hib, FemRoutine$Hib, FemSqlobjectType$Hib, FemSqlrowType$Hib
public interface CwmClass
- extends CwmClassifier
Class object instance interface.
A class is a description of a set of objects that share the same
attributes, operations, methods, relationships, and semantics. A class may
use a set of interfaces to specify collections of operations it provides
to its environment. In the metamodel, a Class describes a set of objects
sharing a collection of Features that are common to the set of objects.
The purpose of a Class is to declare a collection of Features that fully
describe the structure and behavior of objects. Some Classes may not be
directly instantiated. These Classes are said to be abstract and exist
only for other Classes to inherit and reuse the Features declared by them.
No object may be a direct instance of an abstract Class, although an
object may be an indirect instance of one through a subclass that is
non-abstract.
A Class acts as the namespace for various kinds of contained elements
defined within its scope, including classes, interfaces and associations
(note that this is purely a scoping construction and does not imply
anything about aggregation). The contained classes can be used as ordinary
classes in the container class. If a class inherits another class, the
contents of the ancestor are available to its descendents if the
visibility of an element is public or protected; however, if the
visibility is private, then the element is not visible and therefore not
available in the descendant.
Note: This type should not be subclassed,
implemented or directly instantiated by clients. It is generated from a
MOF metamodel and implemented by Enki or MDR.