बेसपोस्ट प्रोसेसर
public abstract class BasePostProcessor
extends Object
implements IPostProcessor
java.lang.Object | |
↳ | com.android.tradefed.postprocessor.BasePostProcessor |
आधार IPostProcessor
जिसे हर कार्यान्वयन में विस्तारित किया जाना चाहिए। सुनिश्चित करें कि पोस्ट प्रोसेसिंग विधियों को अंतिम परिणाम रिपोर्टर से पहले बुलाया जाता है।
सारांश
सार्वजनिक निर्माणकर्ता | |
---|---|
BasePostProcessor () |
सार्वजनिक तरीके | |
---|---|
final ITestInvocationListener | init ( ITestInvocationListener listener) पोस्ट प्रोसेसर का प्रारंभिक चरण। |
final void | invocationEnded (long elapsedTime) रिपोर्ट करता है कि आमंत्रण समाप्त हो गया है, चाहे सफलतापूर्वक या कुछ त्रुटि स्थिति के कारण। |
final void | invocationFailed ( FailureDescription failure) कुछ त्रुटि स्थिति के कारण अपूर्ण मंगलाचरण की रिपोर्ट करता है। |
final void | invocationFailed (Throwable cause) कुछ त्रुटि स्थिति के कारण अपूर्ण मंगलाचरण की रिपोर्ट करता है। |
final void | invocationStarted ( IInvocationContext context) अग्रेषण श्रोताओं को अग्रेषित करने के लिए |
final boolean | isDisabled () यदि संपूर्ण ऑब्जेक्ट अक्षम है (सेटअप और टियरडाउन दोनों को छोड़ दें) तो सही रिटर्न देता है। |
final void | logAssociation (String dataName, LogFile logFile) कुछ मामलों में, लॉग को परीक्षण मामलों के साथ मजबूती से जुड़ा होना चाहिए, लेकिन प्रत्यक्ष परीक्षण पर ऐसा करने का अवसर लॉग-टू-टेस्ट एसोसिएशन अपडेट करता है। |
processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs) processAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs) सभी परीक्षणों में मेट्रिक्स और लॉग को एकत्र करने के लिए इस विधि को लागू करें। | |
abstract | processRunMetricsAndLogs ( rawMetrics, runLogs) processRunMetricsAndLogs ( rawMetrics, runLogs) processRunMetricsAndLogs ( rawMetrics, runLogs) मौजूदा मेट्रिक्स और लॉग से नए मेट्रिक्स का एक सेट उत्पन्न करने के लिए इस पद्धति को लागू करें। |
processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) processTestMetricsAndLogs ( TestDescription testDescription, testMetrics, testLogs) प्रक्रिया मेट्रिक्स और प्रत्येक परीक्षण से लॉग पोस्ट करने के लिए इस विधि को लागू करें। | |
final void | setLogSaver ( ILogSaver logSaver) कार्यान्वयनकर्ता को फ़ाइलों को सहेजने की अनुमति देने के लिए |
void | setUp () परीक्षण चलने से पहले आरंभ करने के लिए चाइल्ड पोस्ट प्रोसेसर में इस विधि को ओवरराइड करें। |
final void | testAssumptionFailure ( TestDescription test, String trace) कॉल किया जाता है जब एक परमाणु परीक्षण ध्वजांकित करता है कि यह एक ऐसी स्थिति मानता है जो झूठी है |
final void | testAssumptionFailure ( TestDescription test, FailureDescription failure) कॉल किया जाता है जब एक परमाणु परीक्षण ध्वजांकित करता है कि यह एक ऐसी स्थिति मानता है जो झूठी है |
final void | testEnded ( TestDescription test, long endTime, testMetrics) testEnded ( TestDescription test, long endTime, testMetrics) |
final void | testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics) एक व्यक्तिगत परीक्षण मामले के निष्पादन अंत की रिपोर्ट करता है। |
final void | testFailed ( TestDescription test, FailureDescription failure) व्यक्तिगत परीक्षण मामले की विफलता की रिपोर्ट करता है। |
final void | testFailed ( TestDescription test, String trace) व्यक्तिगत परीक्षण मामले की विफलता की रिपोर्ट करता है। |
final void | testIgnored ( TestDescription test) कॉल तब किया जाता है जब कोई परीक्षण नहीं चलाया जाएगा, आम तौर पर क्योंकि एक परीक्षण विधि org.junit.Ignore के साथ एनोटेट की जाती है। |
final void | testLog (String dataName, LogDataType dataType, InputStreamSource dataStream) पोस्टप्रोसेसर कार्यान्वयन से फ़ाइल लॉग करने के लिए इस विधि का उपयोग करें। |
final void | testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile) परीक्षण लॉग सहेजे जाने पर कॉल किया जाता है। |
final void | testModuleEnded () एक मॉड्यूल रन के अंत की रिपोर्ट करता है। |
final void | testModuleStarted ( IInvocationContext moduleContext) चलने वाले मॉड्यूल की शुरुआत की रिपोर्ट करता है। |
final void | testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics) टेस्ट रन के अंत की रिपोर्ट। |
final void | testRunFailed ( FailureDescription failure) विफलता |
final void | testRunFailed (String errorMessage) घातक त्रुटि के कारण रिपोर्ट परीक्षण रन पूरा करने में विफल रहा। |
final void | testRunStarted (String runName, int testCount, int attemptNumber) टेस्ट रन की शुरुआत की रिपोर्ट करता है। |
final void | testRunStarted (String runName, int testCount) टेस्ट रन कॉलबैक |
final void | testRunStarted (String runName, int testCount, int attemptNumber, long startTime) टेस्ट रन की शुरुआत की रिपोर्ट करता है। |
final void | testRunStopped (long elapsedTime) एक उपयोगकर्ता के अनुरोध के कारण रिपोर्ट का परीक्षण पूरा होने से पहले ही रुक गया। |
final void | testStarted ( TestDescription test, long startTime) |
final void | testStarted ( TestDescription test) टेस्ट केस कॉलबैक |
संरक्षित तरीके | |
---|---|
MetricMeasurement.DataType | getMetricType () यदि आवश्यक हो तो मीट्रिक प्रकार बदलने के लिए इस विधि को ओवरराइड करें। |
String | getRunName () |
सार्वजनिक निर्माणकर्ता
बेसपोस्ट प्रोसेसर
public BasePostProcessor ()
सार्वजनिक तरीके
इस में
public final ITestInvocationListener init (ITestInvocationListener listener)
पोस्ट प्रोसेसर का प्रारंभिक चरण। किसी भी परीक्षण कॉलबैक से पहले बुलाया जाना सुनिश्चित करें।
पैरामीटर | |
---|---|
listener | ITestInvocationListener |
रिटर्न | |
---|---|
ITestInvocationListener |
मंगलाचरणसमाप्त
public final void invocationEnded (long elapsedTime)
रिपोर्ट करता है कि आमंत्रण समाप्त हो गया है, चाहे सफलतापूर्वक या कुछ त्रुटि स्थिति के कारण।
ट्रेडफेडरेशन फ्रेमवर्क द्वारा स्वचालित रूप से कॉल किया जाएगा।पैरामीटर | |
---|---|
elapsedTime | long : एमएस में मंगलाचरण का बीता हुआ समय |
मंगलाचरण विफल
public final void invocationFailed (FailureDescription failure)
कुछ त्रुटि स्थिति के कारण अपूर्ण मंगलाचरण की रिपोर्ट करता है।
ट्रेडफेडरेशन फ्रेमवर्क द्वारा स्वचालित रूप से कॉल किया जाएगा।
पैरामीटर | |
---|---|
failure | FailureDescription : FailureDescription विफलता के कारण का वर्णन करता है |
मंगलाचरण विफल
public final void invocationFailed (Throwable cause)
कुछ त्रुटि स्थिति के कारण अपूर्ण मंगलाचरण की रिपोर्ट करता है।
ट्रेडफेडरेशन फ्रेमवर्क द्वारा स्वचालित रूप से कॉल किया जाएगा।पैरामीटर | |
---|---|
cause | Throwable : ERROR(/Throwable) विफलता का कारण |
मंगलाचरण प्रारंभ
public final void invocationStarted (IInvocationContext context)
अग्रेषण श्रोताओं को अग्रेषित करने के लिए
पैरामीटर | |
---|---|
context | IInvocationContext : मंगलाचरण के बारे में जानकारी |
अक्षम है
public final boolean isDisabled ()
यदि संपूर्ण ऑब्जेक्ट अक्षम है (सेटअप और टियरडाउन दोनों को छोड़ दें) तो सही रिटर्न देता है। झूठा अन्यथा।
रिटर्न | |
---|---|
boolean |
logAssociation
public final void logAssociation (String dataName, LogFile logFile)
कुछ मामलों में, लॉग को परीक्षण मामलों के साथ मजबूती से जुड़ा होना चाहिए, लेकिन प्रत्यक्ष परीक्षण पर ऐसा करने का अवसर testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
कॉलबैक संभव नहीं है। इस प्रकार, यह कॉलबैक स्पष्ट रूप से एक मजबूत संघ प्रदान करने की अनुमति देता है।
लॉग-टू-टेस्ट एसोसिएशन अपडेट करता है। यदि परीक्षण के दौरान इस विधि को कहा जाता है, तो लॉग परीक्षण से संबंधित होता है; अन्यथा यह रन लॉग होगा।
पैरामीटर | |
---|---|
dataName | String : डेटा का नाम |
logFile | LogFile : LogFile जो पहले लॉग किया गया था और टेस्ट केस से जुड़ा होना चाहिए। |
processAllTestMetricsAndLogs
publicprocessAllTestMetricsAndLogs (ListMultimap<String, MetricMeasurement.Metric> allTestMetrics, allTestLogs)
सभी परीक्षणों में मेट्रिक्स और लॉग को एकत्र करने के लिए इस विधि को लागू करें। इस पद्धति से निकलने वाले मेट्रिक्स रन मेट्रिक्स के रूप में रिपोर्टर होंगे। केवल नए उत्पन्न मेट्रिक्स लौटाए जाने चाहिए, और अद्वितीय कुंजी नाम के साथ (मौजूदा कुंजी के साथ टकराव की अनुमति नहीं है)।
पैरामीटर | |
---|---|
allTestMetrics | ListMultimap : एक हैशमल्टीमैप मीट्रिक नामों द्वारा समूहित प्रत्येक परीक्षण से मीट्रिक संग्रहीत करता है। |
allTestLogs | TestDescription का उपयोग करके, उनके डेटा नामों द्वारा कुंजीबद्ध लॉग फ़ाइलों के प्रत्येक परीक्षण के मानचित्र को संग्रहीत करने वाला मानचित्र। |
रिटर्न | |
---|---|
सभी टेस्ट मेट्रिक्स से नव निर्मित मेट्रिक्स का सेट। |
प्रोसेस रन मेट्रिक्स एंड लॉग्स
public abstractprocessRunMetricsAndLogs ( rawMetrics, runLogs)
मौजूदा मेट्रिक्स और लॉग से नए मेट्रिक्स का एक सेट उत्पन्न करने के लिए इस पद्धति को लागू करें। केवल नए उत्पन्न मेट्रिक्स लौटाए जाने चाहिए, और अद्वितीय कुंजी नाम के साथ (मौजूदा कुंजी के साथ टकराव की अनुमति नहीं है)।
पैरामीटर | |
---|---|
rawMetrics | |
runLogs |
रिटर्न | |
---|---|
रन मेट्रिक्स से नव निर्मित मेट्रिक्स का सेट। |
processTestMetricsAndLogs
publicprocessTestMetricsAndLogs (TestDescription testDescription, testMetrics, testLogs)
प्रक्रिया मेट्रिक्स और प्रत्येक परीक्षण से लॉग पोस्ट करने के लिए इस विधि को लागू करें। केवल नए उत्पन्न मेट्रिक्स लौटाए जाने चाहिए, और अद्वितीय कुंजी नाम के साथ (मौजूदा कुंजी के साथ टकराव की अनुमति नहीं है)।
पैरामीटर | |
---|---|
testDescription | TestDescription : टेस्टडिस्क्रिप्शन ऑब्जेक्ट टेस्ट का वर्णन करता है। |
testMetrics | |
testLogs |
रिटर्न | |
---|---|
टेस्ट मेट्रिक्स से नए जेनरेट किए गए मेट्रिक्स का सेट। |
setLogSaver
public final void setLogSaver (ILogSaver logSaver)
कार्यान्वयनकर्ता को फ़ाइलों को सहेजने की अनुमति देने के लिए ILogSaver
सेट करें।
पैरामीटर | |
---|---|
logSaver | ILogSaver : ILogSaver |
स्थापित करना
public void setUp ()
परीक्षण चलने से पहले आरंभ करने के लिए चाइल्ड पोस्ट प्रोसेसर में इस विधि को ओवरराइड करें।
परीक्षण धारणा विफलता
public final void testAssumptionFailure (TestDescription test, String trace)
कॉल किया जाता है जब एक परमाणु परीक्षण ध्वजांकित करता है कि यह एक ऐसी स्थिति मानता है जो झूठी है
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
trace | String : विफलता का स्टैक ट्रेस |
परीक्षण धारणा विफलता
public final void testAssumptionFailure (TestDescription test, FailureDescription failure)
कॉल किया जाता है जब एक परमाणु परीक्षण ध्वजांकित करता है कि यह एक ऐसी स्थिति मानता है जो झूठी है
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
failure | FailureDescription : FailureDescription विफलता और उसके संदर्भ का वर्णन करता है। |
परीक्षण समाप्त
public final void testEnded (TestDescription test, long endTime,testMetrics)
ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map))
का विकल्प जहां हम अंत समय को सीधे निर्दिष्ट कर सकते हैं। सटीक माप के लिए testStarted(com.android.tradefed.result.TestDescription, long)
के साथ मिलाएं।
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
endTime | long : परीक्षण समाप्त होने का समय, ERROR(/System#currentTimeMillis()) द्वारा मापा गया |
testMetrics | ERROR(/Map) |
परीक्षण समाप्त
public final void testEnded (TestDescription test,testMetrics)
एक व्यक्तिगत परीक्षण मामले के निष्पादन अंत की रिपोर्ट करता है।
अगर testFailed(TestDescription, FailureDescription)
लागू नहीं किया गया था, तो यह परीक्षा पास हो गई। किसी भी कुंजी/मान मेट्रिक्स को भी लौटाता है जो टेस्ट केस के निष्पादन के दौरान उत्सर्जित हो सकता है।
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
testMetrics | ERROR(/Map) |
परीक्षण विफल
public final void testFailed (TestDescription test, FailureDescription failure)
व्यक्तिगत परीक्षण मामले की विफलता की रिपोर्ट करता है।
टेस्टस्टार्टेड और टेस्टएंडेड के बीच कॉल किया जाएगा।
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
failure | FailureDescription : FailureDescription विफलता और उसके संदर्भ का वर्णन करता है। |
परीक्षण विफल
public final void testFailed (TestDescription test, String trace)
व्यक्तिगत परीक्षण मामले की विफलता की रिपोर्ट करता है।
टेस्टस्टार्टेड और टेस्टएंडेड के बीच कॉल किया जाएगा।
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
trace | String : विफलता का स्टैक ट्रेस |
परीक्षणउपेक्षित
public final void testIgnored (TestDescription test)
कॉल तब किया जाता है जब कोई परीक्षण नहीं चलाया जाएगा, आम तौर पर क्योंकि एक परीक्षण विधि org.junit.Ignore के साथ एनोटेट की जाती है।
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
testLog
public final void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
पोस्टप्रोसेसर कार्यान्वयन से फ़ाइल लॉग करने के लिए इस विधि का उपयोग करें।
पैरामीटर | |
---|---|
dataName | String : एक ERROR(/String) डेटा का वर्णनात्मक नाम। उदाहरण के लिए "डिवाइस_लॉगकैट"। नोट dataName प्रति मंगलाचरण अद्वितीय नहीं हो सकता है। यानी कार्यान्वयनकर्ताओं को एक ही डेटानाम के साथ कई कॉलों को संभालने में सक्षम होना चाहिए |
dataType | LogDataType : डेटा का LogDataType |
dataStream | InputStreamSource : डेटा का InputStreamSource । कार्यान्वयनकर्ताओं को डेटा पढ़ना शुरू करने के लिए createInputStream को कॉल करना चाहिए और पूरा होने पर परिणामी InputStream को बंद करना सुनिश्चित करना चाहिए। कॉल करने वालों को यह सुनिश्चित करना चाहिए कि टेस्टलॉग विधि पूरी होने तक डेटा का स्रोत मौजूद और सुलभ रहे। |
testLogSaved
public final void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
परीक्षण लॉग सहेजे जाने पर कॉल किया जाता है।
ITestInvocationListener#testLog(String, LogDataType, InputStreamSource)
स्थान पर उपयोग किया जाना चाहिए।
पैरामीटर | |
---|---|
dataName | String : एक ERROR(/String) डेटा का वर्णनात्मक नाम। उदाहरण के लिए "डिवाइस_लॉगकैट"। नोट dataName प्रति मंगलाचरण अद्वितीय नहीं हो सकता है। यानी कार्यान्वयनकर्ताओं को एक ही डेटानाम के साथ कई कॉलों को संभालने में सक्षम होना चाहिए |
dataType | LogDataType : डेटा का LogDataType |
dataStream | InputStreamSource : डेटा का InputStreamSource । कार्यान्वयनकर्ताओं को डेटा पढ़ना शुरू करने के लिए createInputStream को कॉल करना चाहिए और पूरा होने पर परिणामी InputStream को बंद करना सुनिश्चित करना चाहिए। |
logFile | LogFile : सहेजी गई फ़ाइल का मेटा डेटा युक्त LogFile । |
testModuleEnd
public final void testModuleEnded ()
एक मॉड्यूल रन के अंत की रिपोर्ट करता है।
testModuleStarted
public final void testModuleStarted (IInvocationContext moduleContext)
चलने वाले मॉड्यूल की शुरुआत की रिपोर्ट करता है। यह कॉलबैक testModuleEnded()
से संबद्ध है और अनुक्रम में वैकल्पिक है। यह केवल एक रन के दौरान उपयोग किया जाता है जो मॉड्यूल का उपयोग करता है: सूट आधारित धावक।
पैरामीटर | |
---|---|
moduleContext | IInvocationContext : मॉड्यूल का IInvocationContext । |
testRunEnded
public final void testRunEnded (long elapsedTime,runMetrics)
टेस्ट रन के अंत की रिपोर्ट। FIXME: हमारे पास अलग-अलग प्रकार के दो मैप<> इंटरफेस नहीं हो सकते हैं, इसलिए हमें यहां हैश मैप का उपयोग करना होगा।
पैरामीटर | |
---|---|
elapsedTime | long : डिवाइस ने बीता हुआ समय, मिलीसेकंड में रिपोर्ट किया |
runMetrics | Metric के साथ टेस्ट रन के अंत में रिपोर्ट किए गए की-वैल्यू पेयर। |
testrunFailed
public final void testRunFailed (FailureDescription failure)
विफलता FailureDescription
द्वारा वर्णित विफलता के कारण रिपोर्ट परीक्षण रन पूरा करने में विफल रहा।
पैरामीटर | |
---|---|
failure | FailureDescription : FailureDescription विफलता और उसके संदर्भ का वर्णन करता है। |
testrunFailed
public final void testRunFailed (String errorMessage)
घातक त्रुटि के कारण रिपोर्ट परीक्षण रन पूरा करने में विफल रहा।
पैरामीटर | |
---|---|
errorMessage | String : ERROR(/String) रन विफलता के कारण का वर्णन करता है। |
testrunStarted
public final void testRunStarted (String runName, int testCount, int attemptNumber)
टेस्ट रन की शुरुआत की रिपोर्ट करता है।
पैरामीटर | |
---|---|
runName | String : टेस्ट रन नाम |
testCount | int : परीक्षण चलाने में परीक्षणों की कुल संख्या |
attemptNumber | int : क्रम संख्या, एक ही रननाम के विभिन्न प्रयासों की पहचान करना जो कई बार चलते हैं। प्रयास संख्या 0-अनुक्रमित है और हर बार एक नया रन होने पर वृद्धि होनी चाहिए। उदाहरण के लिए एक परीक्षण को 3 बार पुन: प्रयास किया जाता है, इसमें एक ही रननाम के तहत कुल 4 रन होने चाहिए और प्रयास संख्या 0 से 3 तक होती है। |
testrunStarted
public final void testRunStarted (String runName, int testCount)
टेस्ट रन कॉलबैक
पैरामीटर | |
---|---|
runName | String : टेस्ट रन नाम |
testCount | int : परीक्षण चलाने में परीक्षणों की कुल संख्या |
testrunStarted
public final void testRunStarted (String runName, int testCount, int attemptNumber, long startTime)
टेस्ट रन की शुरुआत की रिपोर्ट करता है।
पैरामीटर | |
---|---|
runName | String : टेस्ट रन नाम |
testCount | int : परीक्षण चलाने में परीक्षणों की कुल संख्या |
attemptNumber | int : क्रम संख्या, एक ही रननाम के विभिन्न प्रयासों की पहचान करना जो कई बार चलते हैं। प्रयास संख्या 0-अनुक्रमित है और हर बार एक नया रन होने पर वृद्धि होनी चाहिए। उदाहरण के लिए एक परीक्षण को 3 बार पुन: प्रयास किया जाता है, इसमें एक ही रननाम के तहत कुल 4 रन होने चाहिए और प्रयास संख्या 0 से 3 तक होती है। |
startTime | long : रन शुरू होने का समय, ERROR(/System#currentTimeMillis()) द्वारा मापा गया |
testRunStopped
public final void testRunStopped (long elapsedTime)
एक उपयोगकर्ता के अनुरोध के कारण रिपोर्ट का परीक्षण पूरा होने से पहले ही रुक गया।
TODO: वर्तमान में अप्रयुक्त, हटाने पर विचार करें
पैरामीटर | |
---|---|
elapsedTime | long : डिवाइस ने बीता हुआ समय, मिलीसेकंड में रिपोर्ट किया |
परीक्षण शुरू
public final void testStarted (TestDescription test, long startTime)
testStarted(com.android.tradefed.result.TestDescription)
का विकल्प जहां हम सटीक माप के ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map))
साथ मिलकर यह भी निर्दिष्ट करते हैं कि परीक्षण कब शुरू किया गया था .
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
startTime | long : परीक्षण शुरू होने का समय, ERROR(/System#currentTimeMillis()) द्वारा मापा गया |
परीक्षण शुरू
public final void testStarted (TestDescription test)
टेस्ट केस कॉलबैक
पैरामीटर | |
---|---|
test | TestDescription : परीक्षण की पहचान करता है |
संरक्षित तरीके
getMetricType
protected MetricMeasurement.DataType getMetricType ()
यदि आवश्यक हो तो मीट्रिक प्रकार बदलने के लिए इस विधि को ओवरराइड करें। डिफ़ॉल्ट रूप से मीट्रिक को संसाधित प्रकार पर सेट किया जाता है।
रिटर्न | |
---|---|
MetricMeasurement.DataType |
getRunName
protected String getRunName ()
रिटर्न | |
---|---|
String |