|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.jini.loader.pref.internal.PreferredResources
public final class PreferredResources
Internal data structure which holds preference information for a
preferred class loader. This utility is used only by the preferred
class loader provider and is not intended to be a public API.
A preferred resources object is created from an input stream which
is formatted according to the Preferred List Syntax which is
defined in the specification for
net.jini.loader.pref.PreferredClassProvider
Preferred resources instances hold preferred list expression data
and the preferred state for the resources contained in a given
preferred class loader.
Field Summary | |
---|---|
private Map |
completeNamePrefs
|
private Boolean |
defaultPreference
default preference setting |
private static String |
HEADER_MAJOR_VERSION
|
private static String |
HEADER_MINOR_VERSION
|
private static String |
HEADER_TITLE
string that starts preference specification headers |
private boolean |
isEmpty
flag to signal if this preference object is empty |
static int |
NAME_NO_PREFERENCE
Constant value that indicates that there is no preference value for a given name. |
static int |
NAME_NOT_PREFERRED
Constant value that indicates that the resource for a given name is known to be not preferred. |
static int |
NAME_PREFERRED
Constant value that indicates that a given name is preferred. |
static int |
NAME_PREFERRED_RESOURCE_EXISTS
Constant value that indicates that a given resource is preferred. |
private static String |
NAME_PREFIX
|
private Map |
namespacePrefs
|
private Map |
packagePrefs
|
private static String |
PREF_PREFIX
preference syntax keywords |
Constructor Summary | |
---|---|
PreferredResources(InputStream in)
Create a preference object from a stream of formatted preference syntax. |
Method Summary | |
---|---|
private Integer |
getClassNameState(String name)
Returns the preference state for a given name (as is done in getNonclassNameState) but also interprets the notation for inner classes as a wild card so that the preference value for a container class propagates to the classes it contains. |
Boolean |
getDefaultPreference()
Returns the preference setting that will be applied to names which have no explicit preference setting in contained preference settings. |
private Boolean |
getNamespacePreference(String namespace)
Return a Boolean for the most specific namespace expression which matches name . null if the name does not
match a namespace preference expression. |
int |
getNameState(String name,
boolean isClass)
Searches the preference maps to determine the preference state of the named resource. |
Boolean |
getWildcardPreference(String name)
Return the boolean value of the most specific wild card (package and namespace) expression which matches name . |
private void |
mapPut(Map map,
String name,
Object preference)
Insert a preference expression and value into a given map. |
private void |
read(InputStream in)
Read and parse preference information from the parameter input stream in . |
private String |
readLineTrimComments(BufferedReader br)
Reads the next line from the specified BufferedReader, removing leading and trailing whitespace and comments. |
void |
setNameState(String name,
int prefState)
Enable MarshalInputStream to optimize preference information: permits complete name expressions to be added for names that only match wild-card expressions. |
void |
write(OutputStream out)
Write the preferences to the specified OutputStream using the preference list syntax. |
private void |
writeMap(Map prefs,
Writer out,
String suffix)
Write the contents of the map into out using the
preference syntax. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int NAME_NO_PREFERENCE
public static final int NAME_NOT_PREFERRED
public static final int NAME_PREFERRED
public static final int NAME_PREFERRED_RESOURCE_EXISTS
private static final String HEADER_TITLE
private static final String HEADER_MAJOR_VERSION
private static final String HEADER_MINOR_VERSION
private static final String PREF_PREFIX
private static final String NAME_PREFIX
private Map namespacePrefs
private Map packagePrefs
private Map completeNamePrefs
private boolean isEmpty
private Boolean defaultPreference
Constructor Detail |
---|
public PreferredResources(InputStream in) throws IOException
IOException
PreferredResources
Method Detail |
---|
private void read(InputStream in) throws IOException
in
. When the method completes, the
preference expression maps contain preference settings for
preference names contained in the input stream.
IOException
private String readLineTrimComments(BufferedReader br) throws IOException
IOException
private void mapPut(Map map, String name, Object preference) throws IOException
IOException
public void write(OutputStream out) throws IOException
out
- the stream to which formatted preference information
will be written
IOException
- if an error occurs while writing to the streamprivate void writeMap(Map prefs, Writer out, String suffix) throws IOException
out
using the
preference syntax.
IOException
public Boolean getDefaultPreference()
public void setNameState(String name, int prefState) throws IOException
name
- the name for which preferred state will be setprefState
- the preferred state for the given name
IOException
- if the name length is zero lengthpublic int getNameState(String name, boolean isClass) throws IOException
name
- isClass
- whether the given name
refers to a
class resource
IOException
- if an error occurs getting the state for
the supplied nameprivate Integer getClassNameState(String name) throws IOException
IOException
public Boolean getWildcardPreference(String name)
name
. Package preferences are always more
specific than namespace preferences.
name
- the resource name to which the returned boolean
value will apply
Boolean.TRUE/code> if name
is
preferred. Boolean.FALSE
is it is
not. null
if there is no wildcard preference for
the name.
private Boolean getNamespacePreference(String namespace)
name
. null if the name does not
match a namespace preference expression.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |