Defines properties and their annotations for a ColdFusion component (CFC). The properties are used to create complex data types for web services, while the annotations are used to define Object Relational Model (ORM) for a CFC. The attributes of this tag are exposed as component metadata and are subject to inheritance rules.
<cfproperty name="name" default="default value" displayname="descriptive name" hint="extended description" required="false|true" serializable="true|false" type="type">
Note:
For ORM-related attributes and their usage, see Map the properties in the Developing ColdFusion Applications.
cfargument, cfcomponent, cffunction, cfinvoke, cfinvokeargument, cfobject, cfreturn; Documenting CFCs in Building and Using ColdFusion Components, Implicit Get and Set Functions in the Developing ColdFusion Applications
ColdFusion 9: Added attributes for defining Object Relational Model for the CFC.Added implicit getters and setters. Added validate and validateparams attributes.
ColdFusion MX: Added this tag.
Attribute |
Req/Opt |
Default |
Description |
|
---|---|---|---|---|
batchsize |
|
|
For information about these attributes, see ColdFusion ORM. |
|
cascade |
|
|
|
|
catalog |
|
|
|
|
cfc |
|
|
|
|
collectiontype |
|
|
|
|
column |
|
|
|
|
constrained |
|
|
|
|
datatype |
|
|
|
|
default |
Optional |
|
If no property value is set when the component is used for a web service, specifies a default value. If this attribute is present, the required attribute must be set to no or not specified. |
|
displayname |
Optional |
|
A value to be displayed when using introspection to show information about the CFC. The value appears in parentheses following the property name. |
|
dynamicInsert |
|
|
For information about these attributes, see ColdFusion ORM. |
|
dynamicupdate |
|
|
|
|
elementColumn |
|
|
|
|
elementtype |
|
|
|
|
entityname |
|
|
|
|
fetchbatchsize |
|
|
|
|
fieldType |
|
|
|
|
fkcolumn |
|
|
|
|
formula |
|
|
|
|
generator |
|
|
|
|
getter |
Optional |
|
Specifies whether to generate getter methods or not. Value are:
|
|
hint |
Optional |
|
Text to be displayed when using introspection to show information about the CFC. This attribute can be useful for describing the purpose of the parameter. |
|
index |
|
|
For information about these attributes, see ColdFusion ORM. |
|
insert |
|
|
|
|
inverse |
|
|
|
|
|
|
|
|
|
joincolumn |
|
|
|
|
lazy |
|
|
|
|
length |
|
|
|
|
linkcatalog |
|
|
|
|
linkschema |
|
|
|
|
linktable |
|
|
|
|
mappedby |
|
|
|
|
missingrowIgnored |
|
|
|
|
name |
Required |
|
A string; a property name. Must be a static value. |
|
notnull |
|
|
For information about these attributes, see ColdFusion ORM. |
|
optimisticLock |
|
|
|
|
optimisticLockgenerated |
|
|
|
|
orderby |
|
|
|
|
orderByreadonly |
|
|
|
|
params |
|
|
For information about these attributes, see ColdFusion ORM. |
|
persistent |
|
|
|
|
preceision |
|
|
|
|
readonly |
|
|
|
|
readonly |
|
|
|
|
required |
Optional |
no |
Whether the parameter is required:
|
|
rowid |
|
|
For information about these attributes, see ColdFusion ORM. |
|
scale |
|
|
|
|
|
|
|
Specifies whether to generate setter methods or not. Possible values are:
|
|
schema |
|
|
For information about these attributes, see ColdFusion ORM. |
|
selectbeforeupdate |
|
|
|
|
selectkey |
|
|
|
|
sequence |
|
|
|
|
serializable |
Optional |
true |
Specifies whether this property can be serialized. If you set this value to false, the property cannot be serialized, so any changes made are not retained on session replication, and the property has its default value (if any) on the second server. Use this attribute to prevent serializaton of properties in CFCs that are serializable. |
|
source |
|
|
For information about these attributes, see ColdFusion ORM. |
|
structkeycolumn |
|
|
|
|
structkeycolumn |
|
|
|
|
structkeydatatype |
|
|
|
|
structkeyType |
|
|
|
|
table |
|
|
|
|
table |
|
|
|
|
type |
Optional |
any |
A string; identifies the property data type:
|
|
unique |
|
|
For information about these attributes, see ColdFusion ORM. |
|
uniquekey |
|
|
|
|
update |
|
|
|
|
|
|
|
|
|
validate |
Optional |
|
For more information, see Validate and validateparams attributes in Functions. |
|
validateparam |
Optional |
|
|
You must position cfproperty tags at the beginning of a component, above executable code and function definitions. If a component is not used as a web service, <cfproperty> only provides metadata information of the property. It does not define variables or set values that you can use in your component. However, it creates implicit setters and getters for the property in the CFC depending on whether getter/setter attributes are enabled. For details, see Implicit Get and Set Functions in Developing ColdFusion Applications.
For Object Relational Model (ORM), cfproperty is used to define relational mapping for the property of the CFC. For details, see ColdFusion ORM in Developing ColdFusion Applications.
For web services that you create in ColdFusion, the cfproperty tag defines complex variables used by the web service.
The following code defines a component in the file address.cfc that contains properties that represent a street address:
<cfcomponent> <cfproperty name="Number" type="numeric"> <cfproperty name="Street" type="string"> <cfproperty name="City" type="string"> <cfproperty name="State" type="string"> <cfproperty name="Country" type="string"> </cfcomponent>
This component represents a complex data type that can be used in a component that is exported as a web service, such as the following:
<cfcomponent> <cffunction name="echoAddress" returnType="address" access="remote"> <cfargument name="input" type="address"> <cfreturn arguments.input> </cffunction> </cfcomponent>