सबसे पहले मेरा उत्तर करने के लिए एक उपयोगकर्ता पुस्तिका: मैं (anonymous functions देखें) एक समारोह है कि स्पष्ट रूप से नामित होने के बिना प्रयोग किया जाता है इंगित करने के लिए इटैलिक का प्रयोग करेंगे।
IsAuthenticated एक विधि है जो पैरामीटर के रूप में एक तर्क f लेता है f।
च एक समारोह जो एक पैरामीटर के रूप वाई लेता है और परिणाम का एक उदाहरण का उत्पादन
वाई एक समारोह जो एक पैरामीटर के रूप जेड लेता है और अनुरोध
की [AnyContent] एक उदाहरण का उत्पादन होता है है
जेड एक समारोह जो कोई पैरामीटर लेता है और एक स्ट्रिंग
IsAuthenticated कॉल Security.Authentic देता है एटेड, यूजरनेम और ऑन अनधिकृत (पास करने के लिए एक समारोह जब उपयोगकर्ता अनुरोधित कार्रवाई करने के लिए अधिकृत नहीं है) गुजर रहा है।
मैं पूरी तरह यकीन है कि यहाँ क्या अतीत हो रहा है myself- मैं स्काला yet- लेकिन साथ काफी है कि अच्छा नहीं कर रहा हूँ नहीं कर रहा हूँ मेरा अनुमान कि Security.Authenticated एक मामले वर्ग है, और निम्नलिखित के बराबर है है यह उपवर्गीकरण और जावा में एक निर्माता जोड़ने:
{
Action(request => f(user)(request))
}
अगर मेरे इस धारणा की कि ज्यादा सही है, तो कार्रवाई (जो Security.Authenticated पर एक विधि है) कहा जाता है, किया जा रहा है एक तर्क एक एक के रूप में गुजर।
ए एक ऐसा फ़ंक्शन है जो एक अनुरोध वस्तु (मैं इस वर्ग के नाम पर अनुमान लगा रहा हूं) लेता हूं और परिणाम उत्पन्न करता है। परिणाम का उपयोग यहां बताया गया है क्योंकि ए का कार्यान्वयन एफ के लिए एक कॉल है।
तो जब सुरक्षा का उप-वर्ग। प्रमाणीकृत किया जाता है, क्रिया को बुलाया जाता है, जो उपयोगकर्ता को कुछ क्रिया (स्ट्रिंग के रूप में निर्दिष्ट) के लिए प्रमाणीकृत करता है और फिर यदि उपयोगकर्ता प्रमाणित होता है, तो f (मूल पैरामीटर) देता है जो संभावित रूप से होता है क्रिया द्वारा बुलाया गया (उपर्युक्त प्रमाणीकरण के बाद)। एफ को यह कॉल एक परिणाम देता है, जो एक समारोह भी है। अंततः परिणाम के साथ अनुरोध (जिसे ए) पैरामीटर के रूप में भेजा गया था।
स्रोत
2011-12-21 22:55:16
जावा सिंटैक्स का उपयोग करके इसका प्रतिनिधित्व करने का कोई तरीका है, मुझे पता है कि यह वही नहीं है लेकिन विधि हस्ताक्षर को समझने में मेरी मदद कर सकता है। मुझे यहां संचालन के आदेश के साथ कठिन समय है। – chiappone