OpenJDK 8 - DataHandler

क्लास डाटाहैंडलर




openjdk

क्लास डाटाहैंडलर

सभी लागू इंटरफेस:
Transferable
public class DataHandler
extends Object
implements Transferable

डेटाहैंडलर वर्ग कई अलग-अलग स्रोतों और प्रारूपों में उपलब्ध डेटा के लिए एक सुसंगत इंटरफ़ेस प्रदान करता है। यह DataContentHandlers का उपयोग करके स्ट्रिंग रूपांतरण और संबंधित कार्यों के लिए सरल धारा का प्रबंधन करता है। यह उन कमांड तक पहुंच प्रदान करता है जो डेटा पर काम कर सकते हैं। कमांडपॉइंट का उपयोग करके कमांड पाए जाते हैं।

डेटाहैंडलर और ट्रांसफ़रेबल इंटरफ़ेस

डेटाहैंडलर ट्रांसफ़रेबल इंटरफ़ेस को लागू करता है ताकि डेटा का उपयोग AWT डेटा ट्रांसफर ऑपरेशंस, जैसे कट और पेस्ट और ड्रैग एंड ड्रॉप में किया जा सके। हस्तांतरणीय इंटरफ़ेस का कार्यान्वयन डेटाहैंडलर के विशिष्ट उदाहरण में प्रस्तुत डेटा के MIME प्रकार के अनुरूप स्थापित DataContentHandler ऑब्जेक्ट की उपलब्धता पर निर्भर करता है।

DataHandler और CommandMaps

DataHandler वर्तमान CommandMap का ट्रैक रखता है जो इसे कमांड के लिए सेवा अनुरोधों ( getCommand , getAllCommands , getPreferredCommands ) का उपयोग करता है। DataHandler के प्रत्येक उदाहरण में setCommandMap विधि का उपयोग करके इसके साथ जुड़ा एक CommandMap हो सकता है। यदि कोई CommandMap सेट नहीं किया गया था, तो DataHandler कमांडडाउन में getDefaultCommandMap विधि को कॉल करता है और उस मूल्य का उपयोग करता है जो वह देता है। अधिक जानकारी के लिए CommandMap देखें।

DataHandler और URLs

वर्तमान DataHandler कार्यान्वयन URL के साथ निर्मित होने पर URLDataSource का एक निजी उदाहरण बनाता है।

जबसे:
1.6
यह भी देखें:
CommandMap , DataContentHandler , DataSource , URLDataSource

कंस्ट्रक्टर्स

DataHandler

public DataHandler(DataSource ds)

निर्दिष्ट DataSource को संदर्भित करते हुए एक DataHandler उदाहरण बनाएँ। डेटा बाइट स्ट्रीम रूप में मौजूद है। DataSource डेटा तक पहुँचने के लिए एक इनपुटस्ट्रीम प्रदान करेगा।

पैरामीटर:
ds - डेटा स्रोत

DataHandler

public DataHandler(Object obj,
                   String mimeType)

इस MIME प्रकार के ऑब्जेक्ट का प्रतिनिधित्व करने वाला एक DataHandler उदाहरण बनाएँ। इस कंस्ट्रक्टर का उपयोग तब किया जाता है जब एप्लिकेशन में पहले से जावा ऑब्जेक्ट के रूप में डेटा का इन-मेमोरी प्रतिनिधित्व होता है।

पैरामीटर:
obj - जावा ऑब्जेक्ट
mimeType - ऑब्जेक्ट का MIME प्रकार

DataHandler

public DataHandler(URL url)

एक URL को संदर्भित करते हुए एक DataHandler उदाहरण बनाएँ। DataHandler आंतरिक रूप से URL का प्रतिनिधित्व करने के लिए एक URLDataSource उदाहरण बनाता है।

पैरामीटर:
url - एक URL ऑब्जेक्ट

तरीके

getDataSource

public DataSource getDataSource()

डेटाहैंडलर के इस उदाहरण से संबद्ध डेटा स्रोत लौटाएं।

डेटाहैंडर्स के लिए जो डेटा स्रोत के साथ त्वरित किया गया है, यह विधि उस डेटा स्रोत को लौटाती है जिसका उपयोग डेटाहैंडलर ऑब्जेक्ट बनाने के लिए किया गया था। अन्य मामलों में डेटाहैंडलर डेटाहैंडलर के निर्माण के लिए उपयोग किए जाने वाले डेटा से डेटा स्रोत का निर्माण करता है। डेटाहैंडर्स के लिए बनाए गए डेटा स्रोत, डेटा स्रोत के साथ त्वरित नहीं किए गए हैं, जो प्रदर्शन कारणों से कैश किए गए हैं।

यह दिखाता है:
इस DataHandler के लिए एक मान्य DataSource ऑब्जेक्ट

getName

public String getName()

डेटा ऑब्जेक्ट का नाम लौटाएं। यदि यह DataHandler DataSource के साथ बनाया गया था, तो यह विधि DataSource.getName विधि के माध्यम से कॉल करती है, अन्यथा यह अशक्त हो जाती है

यह दिखाता है:
वस्तु का नाम

getContentType

public String getContentType()

स्रोत ऑब्जेक्ट से पुनर्प्राप्त के रूप में इस ऑब्जेक्ट का MIME प्रकार लौटाएं। ध्यान दें कि यह मापदंडों के साथ पूर्ण प्रकार है।

यह दिखाता है:
MIME प्रकार

getInputStream

public InputStream getInputStream()
                           throws IOException

इस ऑब्जेक्ट के लिए InputStream प्राप्त करें।

DataHandlers के लिए DataSource के साथ त्वरित रूप से, DataHandler DataSource.getInputStream विधि को कॉल करता है और कॉलर को परिणाम देता है।

डेटाहैंडलर के लिए किसी ऑब्जेक्ट के साथ त्वरित किया जाता है, डेटाहैंडलर पहले ऑब्जेक्ट के लिए डेटा कॉन्टेंटहैंडलर खोजने का प्रयास करता है। यदि DataHandler इस MIME प्रकार के लिए DataContentHandler नहीं ढूँढ सकता है, तो यह एक UnsupportedDataTypeException को फेंकता है। यदि यह सफल है, तो यह एक पाइप और एक धागा बनाता है। थ्रेड डेटा को पाइप के एक छोर में लिखने के लिए थ्रेड DataContentHandler's writeTo विधि का उपयोग करता है। पाइप का दूसरा छोर कॉलर को वापस कर दिया जाता है। क्योंकि डेटा को कॉपी करने के लिए एक थ्रेड बनाया जाता है, IOException जो कॉपी के दौरान हो सकती है, कॉलगर्ल को वापस प्रचारित नहीं किया जा सकता है। परिणाम एक खाली प्रवाह है।

यह दिखाता है:
InputStream इस डेटा का प्रतिनिधित्व करता है
फेंकता:
IOException - यदि I / O त्रुटि होती है
यह भी देखें:
DataContentHandler.writeTo(java.lang.Object, java.lang.String, java.io.OutputStream) , UnsupportedDataTypeException

लिखो

public void writeTo(OutputStream os)
             throws IOException

OutputStream में डेटा लिखें।

यदि DataHandler को DataSource के साथ बनाया गया था, तो लिखने वाला InputStream को पुनः प्राप्त करता है और InputStream से बाइट्स को कॉपी करता है जिसमें OutputStream को पास किया जाता है।

यदि DataHandler ऑब्जेक्ट के साथ बनाया गया था, तो राइट टाइप ऑब्जेक्ट के प्रकार के लिए DataContentHandler को पुनः प्राप्त करता है। यदि DataContentHandler पाया गया था, तो वह writeTo पर writeTo विधि को कहता है।

पैरामीटर:
os - करने के लिए लिखने के लिए OutputStream
फेंकता:
IOException - यदि I / O त्रुटि होती है

getOutputStream

public OutputStream getOutputStream()
                             throws IOException

अंतर्निहित डेटा को ओवरराइट करने की अनुमति देने के लिए इस डेटाहैंडलर के लिए एक आउटपुटस्ट्रीम प्राप्त करें। यदि DataHandler DataSource के साथ बनाया गया था, तो DataSource की getOutputStream विधि को कहा जाता है। अन्यथा, null वापस आ जाता है।

यह दिखाता है:
आउटपुटस्ट्रीम
फेंकता:
IOException
यह भी देखें:
DataSource.getOutputStream() , URLDataSource

getTransferDataFlavors

public DataFlavor[] getTransferDataFlavors()

DataFlavors लौटें जिसमें यह डेटा उपलब्ध है।

डेटा फ़्लेवर वस्तुओं की एक सरणी लौटाता है, जिसमें डेटा को प्रदान किए जाने वाले फ़्लेवर का संकेत मिलता है। सरणी को आमतौर पर डेटा प्रदान करने के लिए वरीयता के अनुसार ऑर्डर किया जाता है, सबसे समृद्ध वर्णनात्मक से कम से कम समृद्ध वर्णनात्मक।

DataHandler एक DataContentHandler खोजने का प्रयास करता है, जो MIME प्रकार के डेटा से मेल खाता है। यदि कोई स्थित है, तो DataHandler DataContentHandler का getTransferDataFlavors विधि getTransferDataFlavors है।

यदि कोई DataContentHandler स्थित नहीं हो सकता है, और यदि DataHandler एक DataSource (या URL) के साथ बनाया गया है, तो एक DataFlavor वापस किया जाता है जो इस ऑब्जेक्ट के MIME प्रकार और java.io.InputStream क्लास का प्रतिनिधित्व करता है। यदि DataHandler किसी ऑब्जेक्ट और MIME प्रकार के साथ बनाया गया था, तो getTransferDataFlavors एक DataFlavor देता है जो इस ऑब्जेक्ट के MIME प्रकार और ऑब्जेक्ट की कक्षा का प्रतिनिधित्व करता है।

इसके द्वारा निर्दिष्ट:
Transferable इंटरफ़ेस में
यह दिखाता है:
डेटा फ्लेवर की एक सरणी जिसमें यह डेटा स्थानांतरित किया जा सकता है
यह भी देखें:
DataContentHandler.getTransferDataFlavors()

isDataFlavorSupported

public boolean isDataFlavorSupported(DataFlavor flavor)

इस ऑब्जेक्ट के लिए निर्दिष्ट डेटा स्वाद समर्थित है या नहीं।

यह विधि DataFlavors के माध्यम से पुन: प्राप्त getTransferDataFlavors , जो getTransferDataFlavors से getTransferDataFlavors , प्रत्येक के साथ निर्दिष्ट स्वाद की तुलना करती है।

इसके द्वारा निर्दिष्ट:
Transferable इंटरफ़ेस में
पैरामीटर:
flavor - डेटा के लिए अनुरोधित स्वाद
यह दिखाता है:
सच है अगर डेटा स्वाद समर्थित है
यह भी देखें:
getTransferDataFlavors()

getTransferData

public Object getTransferData(DataFlavor flavor)
                       throws UnsupportedFlavorException,
                              IOException

एक ऑब्जेक्ट लौटाता है जो स्थानांतरित किए जाने वाले डेटा का प्रतिनिधित्व करता है। लौटाई गई वस्तु के वर्ग को डेटा फ्लेवर के प्रतिनिधित्व वर्ग द्वारा परिभाषित किया गया है।

डेटाहैंडलर के लिए डेटा स्रोत या URL के साथ बनाया गया:

DataHandler इस MIME प्रकार के लिए DataContentHandler का पता लगाने का प्रयास करता है। यदि कोई पाया जाता है, तो DataFlavor में पारित कर दिया जाता है और डेटा के प्रकार को उसके getTransferData विधि में पास कर दिया जाता है। यदि DataHandler DataContentHandler का पता लगाने में विफल रहता है और स्वाद इस ऑब्जेक्ट के MIME प्रकार और java.io.InputStream वर्ग को निर्दिष्ट करता है, तो इस ऑब्जेक्ट का InputStream वापस आ जाता है। अन्यथा यह एक असमर्थितफ्लावर एक्ससेप्शन फेंकता है।

डेटाहैंडलर के लिए ऑब्जेक्ट के साथ बनाया गया:

DataHandler इस MIME प्रकार के लिए DataContentHandler का पता लगाने का प्रयास करता है। यदि कोई पाया जाता है, तो DataFlavor में पारित कर दिया जाता है और डेटा के प्रकार को उसके getTransferData विधि में पास कर दिया जाता है। यदि DataHandler DataContentHandler का पता लगाने में विफल रहता है और स्वाद इस ऑब्जेक्ट के MIME प्रकार और उसकी कक्षा को निर्दिष्ट करता है, तो यह DataHandler की संदर्भित ऑब्जेक्ट वापस आ जाता है। अन्यथा यह एक असमर्थितफ्लावर एक्ससेप्शन फेंकता है।

इसके द्वारा निर्दिष्ट:
Transferable इंटरफ़ेस में Transferable
पैरामीटर:
flavor - डेटा के लिए अनुरोधित स्वाद
यह दिखाता है:
उदेश्य
फेंकता:
UnsupportedFlavorException - यदि डेटा अनुरोधित स्वाद में परिवर्तित नहीं किया जा सकता है
IOException - यदि I / O त्रुटि होती है
यह भी देखें:
ActivationDataFlavor

setCommandMap

public void setCommandMap(CommandMap commandMap)

इस DataHandler द्वारा उपयोग के लिए CommandMap सेट करें। इसे null सेट करने के कारण CommandMap वापस करने के लिए CommandMap CommandMap.getDefaultCommandMap विधि द्वारा लौटाया जाता है। कमांडपार्ट को बदलना, या इसे null करने के लिए सेट करना, पिछले कमांडपॉइंट से कैश किए गए किसी भी डेटा को हटा देता है।

पैरामीटर:
commandMap - इस DataHandler में उपयोग करने के लिए CommandMap
यह भी देखें:
CommandMap.setDefaultCommandMap(javax.activation.CommandMap)

getPreferredCommands

public CommandInfo[] getPreferredCommands()

इस प्रकार के डेटा के लिए पसंदीदा कमांड लौटाएं। यह विधि DataHandler के इस उदाहरण के साथ जुड़े CommandMap में getPreferredCommands विधि को कॉल करती है। यह विधि एक सरणी देती है जो उपलब्ध आदेशों के सबसेट का प्रतिनिधित्व करती है। ऐसे मामलों में जहां इस DataHandler द्वारा दर्शाए गए MIME प्रकार के लिए कई कमांड मौजूद हैं, स्थापित कमांडपॉइंट उपयुक्त कमांड चुनता है।

यह दिखाता है:
CommandInfo ऑब्जेक्ट्स पसंदीदा कमांड्स का प्रतिनिधित्व करते हैं
यह भी देखें:
CommandMap.getPreferredCommands(java.lang.String)

getAllCommands

public CommandInfo[] getAllCommands()

इस प्रकार के डेटा के लिए सभी कमांड वापस करें। यह विधि एक सरणी देता है जिसमें इस DataHandler द्वारा दर्शाए गए डेटा के प्रकार के लिए सभी कमांड होते हैं। इस डेटाहैंडलर द्वारा दर्शाए गए अंतर्निहित डेटा के लिए MIME प्रकार का उपयोग इस DataHandler के साथ जुड़े CommandMap के getAllCommands विधि के माध्यम से करने के लिए किया जाता है।

यह दिखाता है:
CommandInfo ऑब्जेक्ट्स सभी कमांड्स का प्रतिनिधित्व करते हैं
यह भी देखें:
CommandMap.getAllCommands(java.lang.String)

getCommand

public CommandInfo getCommand(String cmdName)

कमांड cmdName प्राप्त करें। इस DataHandler में स्थापित CommandMap द्वारा परिभाषित खोज शब्दार्थ का उपयोग करें। इस डेटाहैंडलर द्वारा दर्शाए गए अंतर्निहित डेटा के लिए MIME प्रकार का उपयोग इस DataHandler के साथ जुड़े CommandMap के getCommand विधि के माध्यम से करने के लिए किया जाता है।

पैरामीटर:
cmdName - कमांड नाम
यह दिखाता है:
CommandInfo कमांड के अनुरूप है
यह भी देखें:
CommandMap.getCommand(java.lang.String, java.lang.String)

सामग्री लो

public Object getContent()
                  throws IOException

डेटा को उसके पसंदीदा ऑब्जेक्ट रूप में लौटाएं।

यदि DataHandler को किसी ऑब्जेक्ट के साथ त्वरित किया गया था, तो ऑब्जेक्ट वापस करें।

यदि DataHandler को DataSource के साथ त्वरित किया गया था, तो यह विधि इस DataHandler द्वारा प्रस्तुत डेटा के लिए सामग्री ऑब्जेक्ट को वापस करने के लिए DataContentHandler का उपयोग करती है। यदि कोई DataContentHandler इस डेटा के प्रकार के लिए नहीं मिल सकता है, तो DataHandler डेटा के लिए एक इनपुटस्ट्रीम लौटाता है।

यह दिखाता है:
सामग्री।
फेंकता:
IOException - अगर इस ऑपरेशन के दौरान IOException होती है।

getBean

public Object getBean(CommandInfo cmdinfo)

एक सुविधा विधि जो एक CommandInfo ऑब्जेक्ट को लेती है और इसी कमांड को आमतौर पर JavaBean घटक का संकेत देती है।

इस पद्धति को कमांड इनफो का getCommandObject विधि ClassLoader जाता है ClassLoader उपयोग javax.activation.DataHandler वर्ग को लोड करने के लिए किया जाता है।

पैरामीटर:
cmdinfo - CommandInfo कमांड के अनुरूप
यह दिखाता है:
तात्कालिक कमांड ऑब्जेक्ट

setDataContentHandlerFactory

public static void setDataContentHandlerFactory(DataContentHandlerFactory newFactory)

DataContentHandlerFactory सेट करता है। DataContentHandlerFactory को DataContentHandler खोजने के लिए सबसे पहले कहा जाता है। DataContentHandlerFactory केवल एक बार सेट किया जा सकता है।

यदि DataContentHandlerFactory पहले से ही सेट किया गया है, तो यह विधि एक त्रुटि फेंकता है।

पैरामीटर:
newFactory - DataContentHandlerFactory
फेंकता:
Error - यदि कारखाना पहले ही परिभाषित किया गया है।
यह भी देखें:
DataContentHandlerFactory