Package com.ibm.fhir.model.resource
Class OperationDefinition
- java.lang.Object
-
- com.ibm.fhir.model.visitor.AbstractVisitable
-
- com.ibm.fhir.model.resource.Resource
-
- com.ibm.fhir.model.resource.DomainResource
-
- com.ibm.fhir.model.resource.OperationDefinition
-
- All Implemented Interfaces:
Visitable
@Generated("com.ibm.fhir.tools.CodeGenerator") public class OperationDefinition extends DomainResource
A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OperationDefinition.Builder
static class
OperationDefinition.Overload
Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.static class
OperationDefinition.Parameter
The parameters for the operation/query.
-
Field Summary
-
Fields inherited from class com.ibm.fhir.model.resource.DomainResource
contained, extension, modifierExtension, text
-
Fields inherited from class com.ibm.fhir.model.resource.Resource
id, implicitRules, language, meta
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(String elementName, int elementIndex, Visitor visitor)
Accept a Visitor and invoke the appropriate visit methods.static OperationDefinition.Builder
builder()
boolean
equals(Object obj)
Boolean
getAffectsState()
Whether the operation affects state.Canonical
getBase()
Indicates that this operation definition is a constraining profile on the base.Code
getCode()
The name used to invoke the operation.Markdown
getComment()
Additional information about how to use this operation or named query.List<ContactDetail>
getContact()
Contact details to assist a user in finding and communicating with the publisher.DateTime
getDate()
The date (and optionally time) when the operation definition was published.Markdown
getDescription()
A free text natural language description of the operation definition from a consumer's perspective.Boolean
getExperimental()
A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.Canonical
getInputProfile()
Additional validation information for the in parameters - a single profile that covers all the parameters.Boolean
getInstance()
Indicates whether this operation can be invoked on a particular instance of one of the given types.List<CodeableConcept>
getJurisdiction()
A legal or geographic region in which the operation definition is intended to be used.OperationKind
getKind()
Whether this is an operation or a named query.String
getName()
A natural language name identifying the operation definition.Canonical
getOutputProfile()
Additional validation information for the out parameters - a single profile that covers all the parameters.List<OperationDefinition.Overload>
getOverload()
Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.List<OperationDefinition.Parameter>
getParameter()
The parameters for the operation/query.String
getPublisher()
The name of the organization or individual that published the operation definition.Markdown
getPurpose()
Explanation of why this operation definition is needed and why it has been designed as it has.List<ResourceType>
getResource()
The types on which this operation can be executed.PublicationStatus
getStatus()
The status of this operation definition.Boolean
getSystem()
Indicates whether this operation or named query can be invoked at the system level (e.g.String
getTitle()
A short, descriptive, user-friendly title for the operation definition.Boolean
getType()
Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g.Uri
getUrl()
An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier.List<UsageContext>
getUseContext()
The content was developed with a focus and intent of supporting the contexts that are listed.String
getVersion()
The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance.boolean
hasChildren()
int
hashCode()
OperationDefinition.Builder
toBuilder()
Create a new Builder from the contents of this Resource-
Methods inherited from class com.ibm.fhir.model.resource.DomainResource
getContained, getExtension, getModifierExtension, getText
-
Methods inherited from class com.ibm.fhir.model.resource.Resource
as, getId, getImplicitRules, getLanguage, getMeta, is
-
-
-
-
Method Detail
-
getUrl
public Uri getUrl()
An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.- Returns:
- An immutable object of type
Uri
that may be null.
-
getVersion
public String getVersion()
The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the operation definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.- Returns:
- An immutable object of type
String
that may be null.
-
getName
public String getName()
A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.- Returns:
- An immutable object of type
String
that is non-null.
-
getTitle
public String getTitle()
A short, descriptive, user-friendly title for the operation definition.- Returns:
- An immutable object of type
String
that may be null.
-
getStatus
public PublicationStatus getStatus()
The status of this operation definition. Enables tracking the life-cycle of the content.- Returns:
- An immutable object of type
PublicationStatus
that is non-null.
-
getKind
public OperationKind getKind()
Whether this is an operation or a named query.- Returns:
- An immutable object of type
OperationKind
that is non-null.
-
getExperimental
public Boolean getExperimental()
A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.- Returns:
- An immutable object of type
Boolean
that may be null.
-
getDate
public DateTime getDate()
The date (and optionally time) when the operation definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes.- Returns:
- An immutable object of type
DateTime
that may be null.
-
getPublisher
public String getPublisher()
The name of the organization or individual that published the operation definition.- Returns:
- An immutable object of type
String
that may be null.
-
getContact
public List<ContactDetail> getContact()
Contact details to assist a user in finding and communicating with the publisher.- Returns:
- An unmodifiable list containing immutable objects of type
ContactDetail
that may be empty.
-
getDescription
public Markdown getDescription()
A free text natural language description of the operation definition from a consumer's perspective.- Returns:
- An immutable object of type
Markdown
that may be null.
-
getUseContext
public List<UsageContext> getUseContext()
The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances.- Returns:
- An unmodifiable list containing immutable objects of type
UsageContext
that may be empty.
-
getJurisdiction
public List<CodeableConcept> getJurisdiction()
A legal or geographic region in which the operation definition is intended to be used.- Returns:
- An unmodifiable list containing immutable objects of type
CodeableConcept
that may be empty.
-
getPurpose
public Markdown getPurpose()
Explanation of why this operation definition is needed and why it has been designed as it has.- Returns:
- An immutable object of type
Markdown
that may be null.
-
getAffectsState
public Boolean getAffectsState()
Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting state'.- Returns:
- An immutable object of type
Boolean
that may be null.
-
getCode
public Code getCode()
The name used to invoke the operation.- Returns:
- An immutable object of type
Code
that is non-null.
-
getComment
public Markdown getComment()
Additional information about how to use this operation or named query.- Returns:
- An immutable object of type
Markdown
that may be null.
-
getBase
public Canonical getBase()
Indicates that this operation definition is a constraining profile on the base.- Returns:
- An immutable object of type
Canonical
that may be null.
-
getResource
public List<ResourceType> getResource()
The types on which this operation can be executed.- Returns:
- An unmodifiable list containing immutable objects of type
ResourceType
that may be empty.
-
getSystem
public Boolean getSystem()
Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context).- Returns:
- An immutable object of type
Boolean
that is non-null.
-
getType
public Boolean getType()
Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context).- Returns:
- An immutable object of type
Boolean
that is non-null.
-
getInstance
public Boolean getInstance()
Indicates whether this operation can be invoked on a particular instance of one of the given types.- Returns:
- An immutable object of type
Boolean
that is non-null.
-
getInputProfile
public Canonical getInputProfile()
Additional validation information for the in parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource as a whole.- Returns:
- An immutable object of type
Canonical
that may be null.
-
getOutputProfile
public Canonical getOutputProfile()
Additional validation information for the out parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource.- Returns:
- An immutable object of type
Canonical
that may be null.
-
getParameter
public List<OperationDefinition.Parameter> getParameter()
The parameters for the operation/query.- Returns:
- An unmodifiable list containing immutable objects of type
OperationDefinition.Parameter
that may be empty.
-
getOverload
public List<OperationDefinition.Overload> getOverload()
Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation.- Returns:
- An unmodifiable list containing immutable objects of type
OperationDefinition.Overload
that may be empty.
-
hasChildren
public boolean hasChildren()
- Overrides:
hasChildren
in classDomainResource
-
accept
public void accept(String elementName, int elementIndex, Visitor visitor)
Description copied from interface:Visitable
Accept a Visitor and invoke the appropriate visit methods. A typical implementation would look like this:if (visitor.preVisit(this)) { visitor.visitStart(elementName, elementIndex, this); if (visitor.visit(elementName, elementIndex, this)) { // visit children } visitor.visitEnd(elementName, elementIndex, this); visitor.postVisit(this); }
- Specified by:
accept
in interfaceVisitable
- Specified by:
accept
in classAbstractVisitable
- Parameters:
elementName
- the name of the element in the context of this visitelementIndex
- the index of the element in a list or -1 if it is not contained within a Listvisitor
- the visitor to use
-
toBuilder
public OperationDefinition.Builder toBuilder()
Description copied from class:Resource
Create a new Builder from the contents of this Resource- Specified by:
toBuilder
in classDomainResource
-
builder
public static OperationDefinition.Builder builder()
-
-