機能強化の多くは、ColdFusion ベースのアプリケーションのスムーズな開発を支援するために、コア CFML シンタックスに対しておこなわれました。主な機能強化の 1 つとして、データ構造とデータオブジェクトのメンバー関数が導入されました。そのため、真のオブジェクト指向スタイルでコーディングを開始できます。 

例えば、次のヘッドレス機能について考えてみます。

ArrayAppend (empArr, emp)

これを次のように記述できるようになりました。

empArr.append(emp)

「arrayObj」は CFArray クラスへの参照です。

メンバー関数の新しい使用例を次に示します。

//The old way
var myArray = ArrayNew(1);
ArrayAppend(myArray, "objec_new");
ArraySort(myArray, "ASC");

// The new way
myArray.append("objec_new");
myArray.sort("ASC");

// The new way
var myProductObject = createObject("java", "myJavaclass");
myjavaList = myProductObject.getProductList();
myjavaList.add("newProduct"); // Java API

myjavaList.append("newProduct"); // CF API
myjavaList.sort("ASC");
</cfscript>

次のデータ型のメンバー関数がサポートされています。

  • 配列
  • 文字列
  • リスト
  • 構造体
  • 日付
  • スプレッドシート
  • XML
  • クエリ
  • 画像                                                             

ColdFusion の 2016 リリースでは、append メンバー関数の戻り値の型が変更されました。次に例を示します。

  • anystruct.append() は追加された構造体を返します。
  • anyarray.append() は追加された配列を返します。

サポートされる配列メンバー関数

次の配列メンバー関数がサポートされています。

ArrayAppend someVar.append()
ArrayAvg someVar.avg()
ArrayClear someVar.clear()
ArrayContains someVar.contains()
ArrayDelete someVar.delete()
ArrayDeleteAt someVar.deleteAt()
* ArrayDeleteNoCase someVar.deleteNoCase()
ArrayEach someVar.each()
ArrayFilter someVar.filter()
ArrayFind someVar.find()
ArrayFindAll someVar.findAll()
ArrayFindAllNoCase someVar.findAllNoCase()
ArrayFindNoCase someVar.findNoCase()
# ArrayFirst someVar.first()
ArrayInsertAt someVar.insertAt()
ArrayIsDefined someVar.isDefined()
ArrayIsEmpty someVar.isEmpty()
# ArrayLast someVar.last()
ArrayLen someVar.len()
ArrayMap someVar.map()
ArrayMax someVar.max()
ArrayMin someVar.min()
ArrayPrepend someVar.prepend()
ArrayResize someVar.resize()
ArraySet someVar.set()
ArraySlice someVar.slice()
ArraySort someVar.sort()
ArraySum someVar.sum()
ArraySwap someVar.swap()
ArrayToList someVar.toList()
ArrayReduce someVar.reduce()

* Adobe ColdFusion(2018 リリース)の新機能

* Adobe ColdFusion(2016 リリース)の新機能

サポートされる文字列メンバー関数

次の文字列メンバー関数がサポートされています。

関数 メンバー関数
* decodeForHTML someVar.decodeForHTML()
* decodeFromURL someVar.decodeFromURL()
* EncodeForCSS someVar.encodeforCSS()
* EncodeForHTML someVar.encodeforHTML()
* EncodeForHTMLAttribute someVar.encodeforHTMLAttribute()
* EncodeForJavaScript someVar.encodeforJavaScript()
* EncodeForURL someVar.encodeforURL()
* EncodeForXML someVar.encodeforXML()
* EncodeForXMLAttribute someVar.encodeforXMLAttribute()
* EncodeForXPath someVar.encodeforXPath()
* Encrypt someVar.encrypt()
* getSafeHTML someVar.getSafeHTML()
* isSafeHTML someVar.isSafeHTML()
* paragraphFormat someVar.paragraphFormat()
* ReplaceListNoCase someVar.replaceListNocase()
* urlDecode someVar.urlDecode()
* urlEncodedFormat someVar.urlEncodedFormat()
BinaryDecode someVar.binaryDecode()
BinaryEncode someVar.binaryEnecode()
Canonicalize someVar.canonicalize()
CharsetDecode someVar.charsetDecode()
CharsetEncode someVar.charsetEncode()
CJustify someVar.cJustify()
Compare someVar.compare()
CompareNoCase someVar.compareNocase()
Decrypt someVar.decrypt()
Encrypt someVar.encrypt()
Find someVar.find()
FindNoCase someVar.findNoCase()
FindOneOf someVar.findOneOf()
FormatBaseN someVar.formatBaseN()
GenerateSecretKey someVar.generateSecretKey()
GetToken someVar.getToken()
Hash someVar.hash()
HTMLCodeFormat someVar.htmlCodeFormat()
HTMLEditFormat someVar.htmlEditFormat()
Insert someVar.insert()
JSStringFormat someVar.jssStringFormat()
LCase someVar.lCase()
Left someVar.left()
Len someVar.len()
LJustify someVar.lJustify()
LSIsCurrency someVar.lsIsCurrency()
LSIsDate someVar.lsIsDate()
LSIsNumeric someVar.lsIsNumeric()
LSParseCurrency someVar.lsParseCurrency()
LSParseDateTime someVar.lsParseDateTime()
LSParseEuroCurrency someVar.lsParseEuroCurrency()
LSParseNumber someVar.lsParseNumber()
Mid someVar.mid()
ParagraphFormat someVar.paragraphFormat()
ParseDateTime someVar.parseDateTime()
REFind someVar.reFind()
REFindNoCase someVar.reFindNoCase()
REMatch someVar.reMatch()
REMatchNoCase someVar.reMatchNoCase()
RemoveChars someVar.removeChars()
RepeatString someVar.repeatString()
Replace someVar.replace()
ReplaceList someVar.replaceList()
ReplaceList someVar.replaceList()
ReplaceNoCase someVar.replaceNocase()
REReplace someVar.reReplace()
REReplaceNoCase someVar.reReplaceNoCase()
Reverse someVar.reverse()
Right someVar.right()
RJustify someVar.rJustify()
RTrim someVar.trim()
SpanExcluding someVar.spanExcluding()
SpanIncluding someVar.spanIncluding()
StripCR someVar.stripCR()
ToBase64 someVar.toBase64()
ToBinary someVar.toBinary()
ToString someVar.toString()
Trim someVar.trim()
UCase someVar.uCase()
URLDecode someVar.urlDecode()
URLEncodedFormat someVar.urlEncodedFormat()
Val someVar.val()
Wrap someVar.wrap()
XmlFormat someVar.xmlFormat()

* Adobe ColdFusion(2016 リリース)の新機能

サポートされるリストメンバー関数

次のリストメンバー関数がサポートされています。

ListAppend someVar.listAppend()
ListChangeDelims someVar.listChangeDelims()
ListContains someVar.listContains()
ListContainsNoCase someVar.listContainsNoCase()
ListDeleteAt someVar.listDeleteAt()
ListEach someVar.listEach()
ListFind someVar.listFind()
ListFindNoCase someVar.listFindNoCase()
ListFirst someVar.listFirst()
ListGetAt someVar.listGetAt()
ListInsertAt someVar.listInsertAt()
ListLast someVar.listLast()
ListLen someVar.listLen()
ListMap someVar.listMap()
ListPrepend someVar.listPrepend()
ListQualify someVar.listQualify()
ListReduce someVar.listReduce()
ListRest someVar.listRest()
ListSetAt someVar.listSetAt()
ListSort someVar.listSort()
ListToArray someVar.listToArray()
ListValueCount someVar.listValueCount()
ListValueCountNoCase someVar.listValueCountNoCase()

サポートされる構造体メンバー関数

次の構造体メンバー関数がサポートされています。

StructIsEmpty someVar.isEmpty()
StructAppend someVar.append()
StructClear someVar.clear()
StructCopy someVar.copy()
StructCount someVar.count()
StructDelete someVar.delete()
StructFind someVar.find()
StructFindValue someVar.findValue()
StructGetMetadata someVar.getMetadata()
StructUpdate someVar.update()
StructSort someVar.sort()
StructSetMetadata someVar.setMetadata()
StructInsert someVar.insert()
# StructIsOrdered someVar.isOrdered()
StructEach someVar.each()
StructKeyArray someVar.keyArray()
StructKeyExists someVar.keyExists()
StructKeyList someVar.keyList()
StructMap someVar.map()
StructReduce someVar.reduce()
StructFindKey someVar.findkey()
StructFilter someVar.filter()
StructToSorted someVar.tosorted()

* Adobe ColdFusion(2018 リリース)の新機能

サポートされる日付メンバー関数

次の日付メンバー関数がサポートされています。

CreateODBCDate someVar.createODBCDate()
CreateODBCDateTime someVar.createODBCDateTime()
DateDiff someVar.diff()
CreateODBCTime someVar.createODBCTime()
* LSDateFormat someVar.lsDateFormat()
DatePart someVar.datepart()
DaysInYear someVar.daysIn
Second someVar.second()
Minute someVar.minute()
Hour someVar.hour()
Day someVar.day()
Week someVar.week()
Month someVar.month()
* setSecond <DateObject>.setSecond(second)
* setMinute <DateObject>.setMinute(minute)
* setHour <DateObject>.setHour(hour)
* setDay <DateObject>.setDay(day)
* setMonth <DateObject>.setMonth(month)
* setYear <DateObject>.setYear(year)
Quarter someVar.quarter()
Year someVar.year()
DaysInMonth someVar.daysInMonth()
DayOfWeek someVar.dayOfweek()
DayOfYear someVar.dayOfYear()
FirstDayOfMonth someVar.firstDayOfMonth()
DateTimeFormat someVar.dateTimeFormat()
TimeFormat someVar.timeFormat()
DateFormat someVar.dateFormat()
DateAdd someVar.add()
DateConvert someVar.convert()
LSTimeFormat someVar.lsTimeFormat()

* Adobe ColdFusion(2016 リリース)の新機能

サポートされる画像メンバー関数

次の画像メンバー関数がサポートされています。

ImageGetWidth someVar.getWidth()
ImageSetDrawingColor someVar.setDrawingColor()
ImageGetBufferedImage someVar.getBufferedImage()
ImageTranslateDrawingAxis someVar.translateDrawingAxis()
ImageSetDrawingStroke someVar.setDrawingStroke()
ImageNegative someVar.negative()
ImageCopy someVar.copy()
ImageDrawRect someVar.drawRect()
ImageCrop someVar.crop()
ImageGetHeight someVar.getHeight()
ImageGetIPTCTag someVar.getIPTCTag()
ImageDrawOval someVar.drawOval()
ImageSharpen someVar.sharpen()
ImageOverlay someVar.overlay()
ImageGetEXIFTag someVar.getEXIFTag()
ImageDrawBeveledRect someVar.drawBeveledRect()
ImageAddBorder someVar.addBorder()
ImageShear someVar.shear()
ImageInfo someVar.info()
ImagePaste someVar.paste()
ImageDrawArc someVar.drawArc()
ImageShearDrawingAxis someVar.shearDrawingAxis()
ImageDrawRoundRect someVar.drawRoundRect()  
ImageGrayscale someVar.grayscale()
ImageSetDrawingTransparency someVar.setDrawingTransparency()
ImageScaleToFit someVar.scaleToFit()
ImageClearRect someVar.clearRect()
ImageTranslate someVar.translate()
ImageFlip someVar.flip()
ImageWriteBase64 someVar.writeBase64()
ImageSetBackgroundColor someVar.setBackgroundColor()
ImageDrawLine someVar.drawLine()
ImageDrawQuadraticCurve someVar.drawQuadraticCurve()
ImageRotate someVar.rotate()
ImageGetBlob someVar.getBlob()
ImageWrite someVar.write()
ImageBlur someVar.blur()
ImageRotateDrawingAxis someVar.rotateDrawingAxis()
ImageSetAntialiasing someVar.setAntialiasing()
ImageDrawPoint someVar.drawPoint()
ImageDrawCubicCurve someVar.drawCubicCurve()
ImageXORDrawingMode someVar.xorDrawingMode()
ImageDrawText someVar.drawText()
ImageDrawLines someVar.drawLines()
ImageResize someVar.resize()
ImageGetExifMetadata someVar.getExifMetadata()
ImageGetIptcMetadata someVar.getIptcMetadata()

サポートされるスプレッドシートメンバー関数

次のスプレッドシートメンバー関数がサポートされています。

SpreadsheetDeleteRow someVar.deleteRow()
SpreadsheetFormatColumn someVar.formatColumn()
SpreadsheetShiftRows someVar.shiftRows()
SpreadsheetCreateSheet someVar.createSheet()
SpreadsheetReadBinary someVar.readBinary()
SpreadsheetWrite someVar.write()
SpreadsheetAddRow someVar.addRow()
SpreadsheetShiftColumns someVar.shiftColumns()
SpreadsheetGetCellFormula someVar.getCellFormula()
SpreadsheetDeleteColumns someVar.deleteColumns()
SpreadsheetAddFreezePane someVar.addFreezePane()
SpreadsheetDeleteColumn someVar.deleteColumn()
SpreadsheetSetCellComment someVar.setCellComment()
SpreadsheetSetActiveSheetNumber someVar.setActiveSheetNumber()
SpreadsheetSetHeader someVar.setHeader()
SpreadsheetAddSplitPane someVar.addSplitPane()
SpreadsheetMergeCells someVar.mergeCells()
SpreadsheetFormatRows someVar.formatRows()
SpreadsheetGetCellComment someVar.getCellComment()
SpreadsheetGetCellValue someVar.getCellValue()
SpreadsheetGetColumnCount someVar.getColumnCount()
SpreadsheetAddInfo someVar.addInfo()
SpreadsheetSetCellValue someVar.setCellValue()
SpreadsheetSetFooter someVar.setFooter()
SpreadsheetRemoveSheet someVar.removeSheet()
SpreadsheetSetRowHeight someVar.setRowHeight()
SpreadsheetSetActiveSheet someVar.setActiveSheet()
SpreadsheetFormatCellRange someVar.formatCellRange()
SpreadsheetFormatCell someVar.formatCell()
SpreadsheetAddRows someVar.addRows()
SpreadsheetFormatColumns someVar.formatColumns()
SpreadsheetAddImage someVar.addImage()
SpreadsheetSetCellFormula someVar.setCellFormula()
SpreadsheetAddColumn someVar.addColumn()
SpreadsheetDeleteRows someVar.deleteRows()
SpreadsheetSetColumnWidth someVar.setColumnWidth()
SpreadsheetFormatRow someVar.formatRow()
SpreadsheetInfo someVar.info()
SpreadsheetAddAutoFilter someVar.addAutoFilter()
SpreadsheetAddPageBreaks someVar.addPageBreaks()

サポートされる XML メンバー関数

次の XML メンバー関数がサポートされています。

XmlTransform someVar.transform()
XmlGetNodeType someVar.getNodeType()
XmlChildPos someVar.childPos()
XmlElemNew someVar.elemNew()
XmlSearch someVar.search()
# XmlHasChild xmlNode.hasChild()
# XmlCount xmlObject.count()
# XmlAppend xmlObject.append()
# XmlUpdate xmlObject.update(String key, Object value)
# XmlKeyList xmlObject.keyList()
# XmlKeyArray xmlObject.keyArray()

* Adobe ColdFusion(2018 リリース)の新機能

サポートされるクエリメンバー関数

次のクエリメンバー関数がサポートされています。

QueryAddColumn someVar.addColumn()
# QueryDeleteColumn someVar.deleteColumn()
# QueryDeleteRow someVar.deleteRow()
* QueryEach someVar.Each()
QueryGetRow someVar.getRow()
QueryConvertForGrid someVar.convertForGrid()
* QueryKeyExists someVar.keyExists()
* QueryFilter someVar.Filter()
* QueryMap someVar.Map()
* QueryReduce someVar.Reduce()
QuerySetCell someVar.setCell()
* QuerySort someVar.Sort()
QueryAddRow someVar.addRow()
* QueryGetResult someVar.getResult()
* ValueArray someVar.valueArray()

* Adobe ColdFusion(2018 リリース)の新機能

* Adobe ColdFusion(2016 リリース)の新機能

サポートされる表示および書式制御メンバー関数

次の表示および書式制御メンバー関数がサポートされています。

* BooleanFormat someVal.booleanFormat()
* YesNoFormat someVal.yesNoFormat()

* Adobe ColdFusion(2016 リリース)の新機能

サポートされる数値メンバー関数

Abs

someVar.abs()

ACos

someVar.aCos()

ASin

someVar.aSin()

Atn

someVar.atn()

BitAnd

someVar.bitAnd(number2)

BitMaskClear

someVar.bitMaskClear(start, length)

BitMaskRead

someVar.bitMaskRead(start, length)

BitMaskSet

someVar.bitMaskSet(mask, start, length)

BitNOT

someVar.bitNot()

BitOR

someVar.bitOr(number2)

BitSHLN

someVar.bitSHLN(count)

BitXOR

someVar.bitXor(number2)

Ceiling

someVar.ceiling()

Cos

someVar.cos()

DecrementValue

someVar.decrementValue()

Exp

someVar.exp()

Fix

someVar.fix()

Floor

someVar.floor()

FormatBaseN

someVar.formatBaseN(radix)

IncrementValue

someVar.incrementValue()

InputBaseN

someVar.inputbasen()

Log

someVar.log()

Log10

someVar.log10()

Max

someVar.max(number2)

Min

someVar.min(number2)

Round

someVar.round()

Sgn

someVar.sgn()

Sin

someVar.sin()

Sqr

someVar.sqr()

Tan

someVar.tan()

BitSHRN

someVar.bitSHRN(count)

PrecisionEvaluate

someVar.precisionEvaluate()

Randomize

someVar.randomize([algorithm])

RandRange

someVar.randRange(number2[, algorithm])

すべての数値関数:Adobe ColdFusion(2018 リリース)の新機能

サポートされる Future メンバー関数

then FutureObject.then(UDFMethod method)
then FutureObject.then((UDFMethod method, long timeout)
error FutureObject.error(UDFMethod method)
error FutureObject.then((UDFMethod method, long timeout)
get FutureObject.get()
get FutureObject.get(long timeout)
get FutureObject.get(long timeout, String timeUnit)
cancel FutureObject.cancel()
isCancelled FutureObject.isCancelled()
isDone FutureObject.isDone()

すべての Future メンバー関数:Adobe ColdFusion(2018 リリース)の新機能

サポートされる空の Future メンバー関数

complete EmptyFutureObject.complete(Object val)
cancel EmptyFutureObject.cancel()
isCancelled EmptyFutureObject.isCancelled()
isDone EmptyFutureObject.isDone()
get EmptyFutureObject.get()

空の Future メンバー関数すべて:Adobe ColdFusion(2018 リリース)の新機能

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー