oracle.ide.model
Class ElementFactory
java.lang.Object
oracle.ide.model.Factory
oracle.ide.model.ElementFactory
- public final class ElementFactory
- extends Factory
The ElementFactory
class is responsible for creating intances of Element
s.
The type of Element
that gets created depends on the object identifier that is passed into the findOrCreate(URL, Project)
. The ElementFactory
makes use of registered ElementRecognizer
instances to determine what Element
class corresponds to a particular URL
.
Element
instances created by the ElementFactory
are generally not cached. It is up to a ElementRecognizer
to determine if the instances it creates should be cached or not.
- See Also:
Element
, ElementRecognizer
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ElementFactory
public ElementFactory()
findOrCreate
public static Element findOrCreate(java.net.URL url,
Project project)
throws java.lang.IllegalAccessException,
java.lang.InstantiationException
- Returns an
Element
associated with the identifier
. This method requests the ElementRecognizer
that recoginizes the element identifier
to create or find the associated element instance. It is left to the recognizer to decide whether created elements should be cached. A recognizer that does not cache newly created elements may return a new element instance every time this method is called.
-
- Parameters:
url
- unique url identifier.
project
- the project within which the element should be created.
- Returns:
- an element. May be null.
- Throws:
java.lang.IllegalAccessException
- if the Element
class or its initializer is not accessible.
java.lang.InstantiationException
- if the Element
class is an abstract class, an interface, an array class, a primitive type, or void; or if the instantiation fails for some other reason.
findRecognizer
public static Recognizer findRecognizer(java.net.URL url)
- Returns the instance of
Recognizer
that is able to specify the Node
class that should be instantiated for the given URL
. If no Recognizer
can determine the Node
class, then null
is returned.
recognize
public static java.lang.Class recognize(java.net.URL url)
- Returns the instance of
Recognizer
that is able to specify the Element
class that should be instantiated for the given url
. If no Recognizer
can determine the Element
class, then null
is returned.
addRecognizer
public static void addRecognizer(Recognizer recognizer)
- Registers a
ElementRecognizer
, appending it to the end of the list of recognizers.
-
- Parameters:
recognizer
- instance of a ElementRecognizer
implementation.
addRecognizer
public static void addRecognizer(int index,
Recognizer recognizer)
- Registers a
Recognizer
, placing it in the specified location in the list of recognizers. Specifying a position less than or equal to 0 prepends this recognizer to the list. A position value larger than (or equal to) the current list size appends this recognizer to the end of the list. All other values insert this recognizer somewhere in the middle of the list.
-
- Parameters:
index
- the index into the list of recognizers where this recognizer will be added
recognizer
- instance of a Recognizer
implementation.
removeRecognizer
public static void removeRecognizer(Recognizer recognizer)
- Unregisters a
Recognizer
.
-
- Parameters:
recognizer
- instance of a Recognizer
implemenation.
getRecognizers
public static java.util.Iterator getRecognizers()
- Returns the list of registered recognizers.
Copyright © 1997, 2004, Oracle. All rights reserved.